Skip to main content

geistdocs

Expert guidance for Geistdocs, Vercel's documentation template built with Next.js and Fumadocs — MDX authoring, configuration, AI chat, i18n, feedback, deployment. Use when creating documentation sites, configuring geistdocs, writing MDX content, or setting up docs infrastructure.

Source facts

Repository
openai/plugins
Last source activity
April 21, 2026 at 18:07
Detected SKILL.md language
English
Stars
7,904
Forks
1,014

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
2 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
geistdocs
description
Expert guidance for Geistdocs, Vercel's documentation template built with Next.js and Fumadocs — MDX authoring, configuration, AI chat, i18n, feedback, deployment. Use when creating documentation sites, configuring geistdocs, writing MDX content, or setting up docs infrastructure.
metadata
{"priority":5,"docs":["https://preview.geistdocs.com/docs","https://preview.geistdocs.com/docs/getting-started","https://preview.geistdocs.com/docs/configuration","https://preview.geistdocs.com/docs/syntax","https://github.com/vercel/geistdocs"],"sitemap":"https://preview.geistdocs.com/sitemap.xml","pathPatterns":["geistdocs.tsx","content/docs/**/*.mdx","content/docs/**/*.md","apps/*/geistdocs.tsx","apps/*/content/docs/**/*.mdx","apps/*/content/docs/**/*.md"],"importPatterns":["@vercel/geistdocs","fumadocs-core","fumadocs-ui","fumadocs-mdx"],"bashPatterns":["\\bnpx\\s+@vercel/geistdocs\\s+init\\b","\\bnpm\\s+(install|i|add)\\s+[^\\n]*\\bfumadocs\\b","\\bpnpm\\s+(install|i|add)\\s+[^\\n]*\\bfumadocs\\b","\\bbun\\s+(install|i|add)\\s+[^\\n]*\\bfumadocs\\b","\\byarn\\s+add\\s+[^\\n]*\\bfumadocs\\b","\\bpnpm\\s+translate\\b"],"promptSignals":{"phrases":["geistdocs","documentation site","documentation template","docs site","docs page","fumadocs","llms.txt"],"allOf":["[Truncated]","[Truncated]","[Truncated]","[Truncated]","[Truncated]"],"anyOf":["documentation","docs","mdx content","ask ai","rss feed","edit on github","internationalization"],"noneOf":["api reference generator","storybook","docusaurus"],"minScore":6}}
# Geistdocs — Vercel Documentation Template You are an expert in Geistdocs, Vercel's production-ready documentation template built with Next.js 16 and Fumadocs. It provides MDX authoring, AI-powered chat, i18n, feedback collection, search, GitHub integration, and RSS out of the box. Currently in **beta**. ## Getting Started ### Prerequisites - Node.js 18+, pnpm, GitHub account - Familiarity with MDX, Next.js, React ### Create a New Project ```bash npx @vercel/geistdocs init ``` This clones the template, prompts for a project name, installs dependencies, and removes sample content. ### Environment Setup ```bash cp .env.example .env.local pnpm dev ``` | Variable | Description | |---|---| | `AI_GATEWAY_API_KEY` | Powers AI chat; auto-configured on Vercel deployments | | `NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL` | Production domain (format: `localhost:3000`, no protocol prefix); auto-set by Vercel | ## Project Structure ``` geistdocs.tsx # Root config — Logo, nav, title, prompt, suggestions, github, translations content/docs/ # MDX documentation content getting-started.mdx # → /docs/getting-started my-page.mdx # → /docs/my-page my-page.cn.mdx # → /cn/docs/my-page (i18n) .env.local # Environment variables ``` Pages auto-route from the `content/docs/` directory: `content/docs/my-first-page.mdx` becomes `/docs/my-first-page`. ## Configuration (`geistdocs.tsx`) The root config file exports these values: ```tsx import { BookHeartIcon } from "lucide-react"; // Header branding export const Logo = () => ( <span className="flex items-center gap-2 font-semibold"> <BookHeartIcon className="size-5" /> My Docs </span> ); // Navigation links export const nav = [ { label: "Blog", href: "/blog" }, { label: "GitHub", href: "https://github.com/org/repo" }, ]; // Site title (used in RSS, metadata) export const title = "My Documentation"; // AI assistant system prompt export const prompt = "You are a helpful assistant for My Product documentation."; // AI suggested prompts export const suggestions = [ "How do I get started?", "What features are available?", ]; // Edit on GitHub integration export const github = { owner: "username", repo: "repo-name" }; // Internationalization export const translations = { en: { displayName: "English" }, cn: { displayName: "中文", search: "搜尋文檔" }, }; ``` ## MDX Syntax & Frontmatter Every MDX file requires frontmatter: ```mdx --- title: My Page Title description: A brief description of this page --- Your content here... ``` ### Supported Syntax - **Text**: Bold, italic, strikethrough, inline code - **Headings**: H1–H6 with auto anchor links - **Lists**: Ordered, unordered, nested, task lists (GFM) - **Tables**: GFM tables - **Links, Images, Blockquotes**: Standard markdown ### Code Blocks Language specification with special attributes: ````mdx ```tsx title="app/page.tsx" lineNumbers export default function Page() { return <h1>Hello</h1> // [!code highlight] } ``` ```` | Attribute | Effect | |---|---| | `title="filename"` | File path header | | `lineNumbers` | Show line numbers | | `[!code highlight]` | Highlight line | | `[!code word:term]` | Highlight term | | `[!code ++]` / `[!code --]` | Diff additions/deletions | | `[!code focus]` | Focus line | ### Mermaid Diagrams ````mdx ```mermaid graph TD A[Start] --> B[Process] B --> C[End] ``` ```` Supports flowcharts, sequence diagrams, and architecture diagrams. ## GeistdocsProvider Root-level wrapper extending Fumadocs' `RootProvider`. Provides toast notifications (Sonner), Vercel Analytics, and search dialog. The AI sidebar auto-adds padding on desktop; mobile uses a drawer. ```tsx import { GeistdocsProvider } from "./components/provider"; export default function RootLayout({ children }) { return ( <html> <body> <GeistdocsProvider>{children}</GeistdocsProvider> </body> </html> ); } ``` Toast API: `toast.success("msg")`, `toast.error("msg")` via Sonner. ## Features ### Edit on GitHub Set `github` in config → auto-generates edit links in the ToC sidebar. No env vars or API keys needed. ### Feedback Widget Interactive widget in ToC sidebar. Collects message, emotion emoji, name, email. Auto-creates structured GitHub Issues with labels. ### Internationalization (i18n) Uses Fumadocs' language-aware routing with `[lang]` URL segments. Default language has no prefix; others get prefix (e.g., `/cn/docs/getting-started`). File naming: `getting-started.mdx` (en), `getting-started.cn.mdx` (cn), `getting-started.fr.mdx` (fr). Auto-translate: `pnpm translate [--pattern "path/**/*.mdx"] [--config file.tsx] [--url "api-url"]` ### RSS Feed Auto-generated at `/rss.xml`. Requires `NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL` and `title` export. Customize via frontmatter `lastModified: 2025-11-12`. ### .md Extension (Raw Markdown) Append `.md` or `.mdx` to any URL to get raw Markdown. Useful for AI chat platforms (ChatGPT, Codex, Cursor) and LLM context ingestion. ### llms.txt Endpoint at `/llms.txt` returns ALL documentation as plain Markdown in a single response. Follows the llms.txt standard. ### Ask AI AI chat assistant using `openai/gpt-4.1-mini` via Vercel AI Gateway. Features: `search_docs` tool, source citations, IndexedDB chat history, suggested prompts, file/image upload, Markdown rendering. Access via navbar button or `⌘I` / `Ctrl+I`. ### Open in Chat Button in ToC sidebar opens docs page in external AI platforms (Cursor, v0, ChatGPT, Codex). ## Deployment 1. Push to GitHub 2. Import at vercel.com/new → select repo 3. Framework: Next.js (auto-detected), Build: `pnpm build`, Output: `.next` 4. Add environment variables (`AI_GATEWAY_API_KEY`, `NEXT_PUBLIC_VERCEL_PROJECT_PRODUCTION_URL`) 5. Deploy ## Key Commands | Command | Description | |---|---| | `npx @vercel/geistdocs init` | Create new project | | `pnpm dev` | Start dev server | | `pnpm build` | Production build | | `pnpm translate` | Auto-translate content | ## Official Documentation - [Geistdocs Docs](https://preview.geistdocs.com/docs) - [Getting Started](https://preview.geistdocs.com/docs/getting-started) - [Configuration](https://preview.geistdocs.com/docs/configuration) - [Syntax Reference](https://preview.geistdocs.com/docs/syntax) - [GitHub Repository](https://github.com/vercel/geistdocs)
View on GitHub