Migrate to Farming Labs Docs
Move an existing documentation site without treating the migration as a rewrite. Start with the guide for your current platform, preserve the source URLs where possible, and validate the new site before changing production traffic.
Share one Markdown entry point
Send /docs/migrations.md to an agent. It contains this migration map and
direct links to every source-specific .md guide, so the agent can fetch only the framework it
needs.
Choose your current platform
Docusaurus
Translate docs/, sidebars, versioned content, admonitions, tabs, and static assets.
Mintlify
Move MDX pages and turn docs.json navigation and hosted integrations into local config.
Nextra
Reuse Next.js and MDX content while replacing _meta files, layout wiring, and theme config.
Fumadocs
Keep the existing content model and simplify source, layout, search, and theme wiring.
VitePress
Convert Markdown-It and Vue conventions into portable MDX and Farming Labs navigation.
Starlight
Move Astro content collections, sidebar groups, frontmatter, and expressive Markdown.
GitBook
Export through Git Sync, preserve the page hierarchy, and replace hosted-only blocks.
Material for MkDocs
Translate mkdocs.yml navigation and Python Markdown extensions into MDX components.
Choose the target runtime
The migration guide explains the source format. The Farming Labs initializer determines the target file layout:
| Target runtime | Content location | Configuration |
|---|---|---|
| Next.js | app/docs/**/page.mdx or src/app/docs/**/page.mdx | docs.config.ts at the project root |
| TanStack Start | docs/**/*.mdx | docs.config.ts at the project root |
| SvelteKit | docs/**/*.md or docs/**/*.mdx | src/lib/docs.config.ts |
| Astro | docs/**/*.md or docs/**/*.mdx | src/lib/docs.config.ts |
| Nuxt | docs/**/*.md or docs/**/*.mdx | docs.config.ts at the project root |
Run the initializer from the target application root:
npx @farming-labs/docs initThe migration sequence
- Freeze a source snapshot. Record the published URL, active version, locale, and build command.
- Initialize the target separately. Use a migration branch or a new directory so rollback stays simple.
- Move plain content first. Copy Markdown, images, and downloadable files before translating components.
- Rebuild navigation. Preserve page order, nesting, labels, hidden pages, and external links.
- Translate source components. Prefer built-in
Callout,Tabs,Cards, and standard Markdown. - Recreate integrations intentionally. Search, analytics, authentication, OpenAPI, redirects, and custom scripts are configuration work—not content.
- Validate before cutover. Build the site, compare important routes, inspect mobile navigation, and test
.mddelivery.
Definition of done
- Every published source page is migrated, redirected, or intentionally retired.
- The target production build succeeds without placeholder imports.
- Sidebar order and nesting match the approved information architecture.
- Internal links, headings, images, downloads, and code blocks work.
- Search and API reference behavior are verified separately.
/docs/migrations.md-style Markdown delivery works for migrated pages.- Custom components and hosted integrations have an owner and a documented decision.
- The source deployment remains available until the target site passes the final route comparison.
Markdown guide index
Give an agent the smallest guide that matches the source:
Move documentation from Docusaurus, Mintlify, Nextra, Fumadocs, VitePress, Starlight, GitBook, or Material for MkDocs
How is this guide?