Files
vercel__streamdown/apps/website/README.md
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

2.2 KiB

Streamdown Docs Website

The documentation and marketing site for Streamdown, built on Geistdocs — Vercel's package-backed docs system powered by Next.js and Fumadocs.

The shared runtime (layout, docs renderer, search, Ask AI, markdown routes, proxy behavior, and MDX components) is provided by @vercel/geistdocs. This app owns its content, configuration, and thin adapter files.

Structure

  • content/docs/ - Documentation pages (MDX). Sidebar order is controlled by content/docs/meta.json.
  • geistdocs.tsx - Site configuration (logo, nav, GitHub links, AI prompt and suggestions, agent metadata).
  • lib/geistdocs/ - Source and config adapters wiring the app to @vercel/geistdocs.
  • components/geistdocs/ - User-owned adapters for MDX components, the provider, and the docs layout.
  • app/[lang]/(home)/ - The marketing landing page.
  • app/[lang]/playground/ - The interactive Streamdown playground.
  • app/[lang]/docs/ - Docs routes rendered by createDocsPage from the package.
  • proxy.ts - Markdown content negotiation (.md/.mdx URLs, Accept: text/markdown) and i18n handling via createProxy.

AI-readable output

The site serves machine-readable surfaces from package route helpers:

  • /llms.txt - Full documentation corpus as markdown
  • /sitemap.md - Markdown sitemap with page summaries
  • /agents.md - Agent-readiness metadata
  • Any docs page with a .md/.mdx suffix - Per-page markdown

Development

From the repository root:

pnpm install
pnpm dev --filter website

The site consumes the workspace streamdown and @streamdown/* packages directly, so live demos always render against the local source.

Updating Geistdocs

npx @vercel/geistdocs update

This bumps the @vercel/geistdocs dependency. Local adapter files are user-owned and never overwritten.

Environment variables

  • NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL - Production URL used for absolute links (set automatically on Vercel)
  • AI_GATEWAY_API_KEY - Enables the Ask AI assistant (set automatically on Vercel)