A themeable documentation toolkit for React Router, Next.js, and Astro. Create a standalone documentation site with MDX content, navigation, search, OpenAPI reference pages, and built-in SEO.
Start the creator and answer its questions about the project directory, framework, deployment target, theme, and package manager. When it finishes, it prints the exact commands for starting the development server.
# pnpm
pnpm create @heyo-sh/heyo-docs
# npm
npm create @heyo-sh/heyo-docs@latest
# Yarn
yarn dlx @heyo-sh/create-heyo-docs
# Bun
bun create @heyo-sh/heyo-docsThe creator works with pnpm, npm, Yarn, and Bun. It lets you choose React Router, Next.js, or Astro, plus a theme and deployment target.
For an existing application, follow the framework-specific guides for React Router, Next.js, or Astro.
heyo-docs.config.ts is the single source of truth for your site's content, navigation, appearance, and metadata. Only content is required:
import { heyoDocs } from "@heyo-sh/heyo-docs/config";
export default heyoDocs({
title: "Acme Docs",
description: "Guides and API reference for Acme.",
content: "content",
theme: "grain",
siteUrl: "https://docs.acme.com/handbook",
branding: { name: "Acme", logo: "/logo.svg" },
navigation: [
{ label: "Status", href: "https://status.acme.com" },
{ label: "Sign in", href: "https://app.acme.com", variant: "primary" },
],
groups: [
{
group: "Documentation",
sections: [
{
section: "Get started",
pages: ["index", "quickstart"],
},
],
},
],
});Header navigation renders each item as a Button. Its variant uses the same values as Button and defaults to link; use primary for prominent actions. siteUrl is the canonical public documentation root and may include a mount path such as /handbook.
Every documentation, changelog, and OpenAPI page shows Copy for LLM and
Open by default. They use the stable public .md representation of the
current page; mounted docs paths are derived from the browser URL, without a
framework-specific adapter. They do not require AI Chat credentials.
Configure either action independently only when needed:
ai: {
copyForLLM: "disabled", // default: "enabled"
openIn: "enabled", // default: "enabled"
}The selected framework must serve public *.md endpoints. All generated
projects already do; see the Markdown endpoint guide.
Read the configuration guide for the complete reference, then add pages under content/. Built-in MDX components, OpenAPI, deployment, and styling guides live in the documentation.
The root package exports only DocsApp; import capabilities from domain entrypoints such as /config, /model, /navigation, /seo, /openapi, /llm, /rss, /search, /mdx, /link, and /types.
See CONTRIBUTING.md for local development and contribution guidelines.
