nookdocs is a single-binary Node.js CLI focused on migrations. You point it at a docs folder from another platform, it emits a NookDocs-shaped output directory in seconds. Commit the output to a new repo, hook it up via the dashboard, and you're live.
Today the CLI ships one command: migrate. Local preview / analytics / login commands are on the roadmap but not shipped yet — until they are, you use the dashboard's web editor for preview and authoring.
What it does
One-shot migration
Convert an entire Mintlify or Docusaurus docs tree to NookDocs format in one command. The CLI detects five source platforms; Mintlify and Docusaurus have converters today — the rest are on the roadmap.
Config translation
Maps docs.json / mint.json into a valid nookdocs.config.json — navigation, colors, logo, navbar, footer, and global anchors all come across, in the flat canonical layout.
Component rewrite
Most Mintlify components share NookDocs' tag names and pass through untouched. Genuinely-renamed ones (<Latex>→<Math>, <Tree>→<FileTree>) are rewritten; unsupported components pass through verbatim and are flagged in the report.
Asset copy
Images, PDFs, and other public assets are copied to the output directory with the same relative paths, so links in your MDX keep working.
When to use it
Moving off Mintlify or Docusaurus — point the CLI at your repo, commit the output. See the Mintlify and Docusaurus migration guides. (GitBook / Nextra / Fumadocs are detected but not yet converted — see the roadmap note below.)
Starting from a template — clone an open-source Mintlify starter (e.g. Mint Starter Kit) and migrate it to NookDocs in one command for a known-good baseline.
Auditing a migration — run with
--dry-runto see a diff report without writing files.
When NOT to use it
Local preview. No
nookdocs devcommand yet. Use the dashboard's web editor which hot-reloads on save.Authentication flows. No
nookdocs login. Auth is in the dashboard.Publishing. Deploys trigger from GitHub push — no CLI deploy command.
Quick path
# 1. Install
npm install -g nookdocs
# 2. Run migration (auto-detects the source platform)
nookdocs migrate ./my-mintlify-docs
# 3. Commit the output to a new repo
cd nookdocs-output
git init && git add . && git commit -m "initial migration"
# 4. Hook the repo up via the NookDocs dashboardTwo ways to migrate
Deterministic CLI
Best for a Mintlify source and for anyone not using an AI assistant. One command, repeatable output, a printed report. Everything on this page.
AI assistant
Best for any other source (Docusaurus, GitBook, Scalar, hand-rolled). Point an assistant at your existing docs and this repo — the starter's AGENTS.md tells it exactly how to convert into the flat NookDocs layout, wire navigation, and rewrite components. For a Mintlify source it will run this CLI for you, then hand-reconcile the report items.
Flag reference (all commands)
-h, --helpflagpathPrint usage and exit. Available on every command (nookdocs migrate --help).
--dry-runflagpathPreview changes without writing files. Migrate command prints the full report; no files land on disk.
-o, --output <dir>stringpathdefault: ./nookdocs-outputDestination directory for migration output. Gets created if missing.
--from <platform>'mintlify' | 'docusaurus' | 'gitbook' | 'nextra' | 'fumadocs'pathForce a specific source platform. Skip to let the CLI auto-detect based on well-known config files (docs.json, docusaurus.config.ts, .gitbook.yaml, theme.config.tsx, source.config.ts).
Related
Install — npm install, Node.js requirements, upgrade path
Migrate command — the one real command, fully documented
Migrating from Mintlify — end-to-end guide, what converts, what's manual
Migrating from Docusaurus — config, sidebars, admonitions, static assets