Commit Graph

8 Commits

Author SHA1 Message Date
Rich Haines e5deed330a Migrate docs site to package-based Geistdocs (#537)
* Migrate docs site to package-based Geistdocs architecture

Replace the vendored Geistdocs template in apps/website with the
published @vercel/geistdocs package. The package now owns the shared
runtime (layout, docs renderer, search, Ask AI chat, markdown routes,
proxy, and MDX components) while the app keeps thin user-owned
adapters.

- Add @vercel/geistdocs 1.7.2 and bump Next.js to 16.2.6 (exact peer)
- Delete ~50 vendored runtime files (components/geistdocs, hooks,
  custom chat UI, search/chat route implementations, feedback action)
- Replace routes with package factories: createDocsPage,
  createChatRoute, createSearchRoute, createLlmsRoute,
  createDocsMarkdownRoute, createSitemapMarkdownRoute, createProxy
- AI chat now uses the package-owned Ask AI (AI SDK v6 via the package)
- Adopt the package geistdocs.css theme with @source entries for the
  geistdocs and streamdown dists; add a compat token layer in
  global.css for user-owned components
- Add new /agents.md and /.well-known/mcp.json agent-readiness routes
  with Streamdown agent metadata in geistdocs.tsx
- Keep the landing page, playground, KaTeX/Mermaid MDX pipeline,
  redirects, and workspace streamdown live demos intact
- Prune dependencies now owned by the package (dexie, @orama/tokenizers,
  ai, @ai-sdk/react, etc.) and unused shadcn components

* Polish homepage and migrate UI components to @vercel/geistdocs

- Homepage background set to bg-background-200 (incl. body/overscroll)
- Disable smooth-scroll animation on page navigation
- Replace hero install button with For humans / For agents CommandPrompt
- Remove hero "Read the docs" button
- Remove "Powering AI experiences for" logo strip and assets
- Remove homepage section gridlines/dividers
- Homepage titles at font-weight 450
- Navbar border hidden at top, revealed on scroll (homepage only)
- "Get started" code block uses Geist Shiki theme at 13px
- Feature links restyled black + underlined (was blue)
- Migrate Button/Badge/Input/Textarea/Popover to @vercel/geistdocs; delete local copies
- Remove dead installer + input-group components

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: christopherkindl <53372002+christopherkindl@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 13:15:57 +02:00
Hayden Bleasel a70572acb8 Update Geistdocs 2026-02-12 11:34:37 -08:00
Hayden Bleasel 34041c7ad2 Update docs 2026-02-03 11:23:13 -08:00
Hayden Bleasel 0b80aed583 Switch to plugin architecture (#352)
* Plugin trial

* Update docs and tests

* Update homepage add new section

* Update usage.tsx

* Split out CJK plugin

* Extract plugins into new packages

* Misc fixes

* Fix lint / formatting

* Fix: The Streamdown component's memo comparison doesn't compare the plugins prop, preventing re-renders when plugins change while other props stay the same

Co-authored-by: haydenbleasel <hello@haydenbleasel.com>

* Fix: TypeScript type mismatch at line 89 in `index.ts`: the visitor function's `index` parameter is typed as `number | undefined`, but the `visit` function expects `number | null`. The `undefined` type is not assignable to `number | null`.

This commit fixes the issue reported at /vercel/path0/packages/streamdown-cjk/index.ts:89

## TypeScript type incompatibility in visitor callback

**What fails:** TypeScript compiler fails during DTS (type definitions) build in `packages/streamdown-cjk/index.ts` at line 89

**How to reproduce:**
```bash
cd packages/streamdown-cjk
pnpm build
```

**Result:**
```
index.ts(89,3): error TS2769: No overload matches this call.
  Overload 1 of 2, '(tree: Root, check: "link", visitor: BuildVisitor<Root, "link">, reverse?: boolean | null | undefined): undefined', gave the following error.
    Argument of type '(node: Link, index: number | null, parent?: Parent) => number | undefined' is not assignable to parameter of type 'BuildVisitor<Root, "link">'.
      Types of parameters 'index' and 'index' are incompatible.
        Type 'number | undefined' is not assignable to type 'number | null'.
          Type 'undefined' is not assignable to type 'number | null'.
```

**Root cause:** The visitor callback function passed to the `visit()` function from `unist-util-visit` was declaring the `index` parameter as `number | null`, but the visitor can also receive `undefined` as the index value. The `BuildVisitor` type signature expects the callback to accept `number | null | undefined` to properly match the library's API.

**Fix:** Updated the `index` parameter type annotation on line 89 from `number | null` to `number | null | undefined` to match the actual possible values that the visitor receives and the expected `BuildVisitor` type signature.

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Co-authored-by: haydenbleasel <hello@haydenbleasel.com>

* Fix tests

* Remove CDN paths

* Fix tests

* More cleanup

* Remove shiki from main bundle

* Update index.ts

* Cleanup test repo

* Cleanup website

* Delete next-env files

* Update .gitignore

* Fix lockfile

* Upgrade Next and React

* Simplify themes

* Update test site

* Misc fixes

* Type fixes

* Create perky-cobras-punch.md

---------

Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
2026-01-17 14:38:20 -08:00
Hayden Bleasel 2b26070ebc Fix CDN implementation 2026-01-06 16:29:58 -08:00
Hayden Bleasel 1c752e3873 Update docs 2025-12-06 23:33:36 -08:00
Hayden Bleasel 75e9d401b9 Linting / Formatting / Documentation fixes (#220)
* Bump deps

* Update biome.jsonc

* Remove duplicate Biome config

* Run Ultracite

* Resolves #217

* For #198

* Update biome.jsonc

* For #198

* For #198

* For #198

* For #198

* Update node-attribute-removed.test.tsx

* Resolves #198

* Update README.md

* Add changeset files

* Create tidy-lemons-win.md
2025-11-15 20:23:36 -08:00
Hayden Bleasel 44ae73eaaf Documentation (#219)
* Initial migration

* Update homepage

* Delete .source

* Fix gitignores

* Draft content

* Finish drafting content, migrate FAQ

* Update code-blocks.tsx

* Update route.ts

* Update next config

* Upgrade to Next.js 16, fix commands

* Update layout.tsx
2025-11-15 19:41:00 -08:00