Docs
Remix API Reference
A generated reference site for the Remix 3 packages. TypeDoc data and package overviews become Markdown, which the server renders into searchable, optionally versioned static HTML.
The hand-authored guides live in ../guides. Shared docs UI, styles, search, assets, and prerendering live in ../shared.
#Where things live
app/actions/controller.tsx— root asset, home, and API lookup actions.app/actions/api/controller.tsx— generated document and Markdown response actions.app/actions/public/— root-owned browser entrypoint and stylesheet sources.app/assets.ts— source asset server configured around colocatedpublic/directories.app/data/— generated-document discovery, Markdown rendering, demos, and navigation registry data.app/middleware/asset-entry.tsandrender.ts— request-scoped versioned asset hrefs and HTML rendering.app/ui/document.tsx— API-specific document metadata and content rendered with the shared docs shell.app/routes.tsandapp/router.ts— typed route contract, middleware stack, controller wiring, and versioned route mounts.app/utils/— focused helpers shared with generation scripts.scripts/generate/— TypeDoc loading, API filtering, package overview discovery, and Markdown generation.scripts/build-demos.ts— discovers API examples and copies them intobuild/demos/.scripts/prerender.ts— static-site entrypoint and version-picker integration.server.ts— local API docs server entrypoint.public/— API-only static files. Shared docs assets live in../shared/assets/.
Generated Markdown and demo files are written beneath build/ and are not committed.
#Generating the reference
Generate Markdown from the workspace packages:
pnpm --filter remix-api run docs
Pass a release tag when generated source links should target that tag:
pnpm --filter remix-api run docs --tag remix@3.0.0
docs accepts --entryPoints to change the TypeDoc inputs or --input to reuse an existing TypeDoc JSON file. Build the discovered demos separately:
pnpm --filter remix-api run build
#Commands
Run from the repository root or from docs/api/:
pnpm --filter remix-api run dev # build demos, then watch and serve
pnpm --filter remix-api run start # serve once
pnpm --filter remix-api run prerender # write build/site and build its Pagefind index
pnpm --filter remix-api run prerender:serve # serve the static output
pnpm --filter remix-api run test
pnpm --filter remix-api run typecheck
The development server listens on http://localhost:44100 by default. Set PORT to override.
#Static site
Generate Markdown and demos before prerendering a fresh checkout:
pnpm --filter remix-api run docs
pnpm --filter remix-api run build
pnpm --filter remix-api run prerender
Pass --version to emit version-prefixed routes and --dir to select the output directory. Shared and API-only public assets remain unversioned at the output root so one copy serves every generated version.