docs.json config into a full documentation site. It runs as a Vite plugin, builds locally, and deploys anywhere.1npx -y skills add remorses/holocron
1npx -y "@holocron.so/cli" create
vite.config.ts. Run pnpm install && pnpm dev and you're live.1pnpm add @holocron.so/vite react react-dom vite
vite.config.ts:123456import { defineConfig } from 'vite' import { holocron } from '@holocron.so/vite' export default defineConfig({ plugins: [holocron()], })
docs.json at the project root:12345678910{ "name": "My Docs", "colors": { "primary": "#6366f1" }, "navigation": [ { "group": "Getting Started", "pages": ["index"] } ] }
index.mdx:123456789--- $schema: https://holocron.so/frontmatter.json title: Welcome description: My documentation site. --- # Welcome This is my first Holocron page.
1npx vite
http://localhost:5173 and you should see your docs site.12npx vite build node dist/rsc/index.js
vite build, deploy the output anywheredocs.json schema and MDX components.md per page, /llms.txt, /docs.zip, skill discovery| Area | Mintlify | Holocron |
| Hosting | Cloud only | Self-hosted, or holocron.so managed hosting |
| Build | Cloud build on push | Local vite build, standard CI |
| Pricing | Starts at $150/mo | Free, open source (MIT) |
| Git workflow | Mintlify-managed deploys | Standard git: PRs, branches, diffs |
| Config | docs.json | Same docs.json (compatible) |
| Components | Proprietary MDX set | Same components, open source |
| API reference | Interactive playground | Read-only API reference from OpenAPI |
| Search | Algolia / built-in | Orama (local, zero config) |
| Custom domains | Dashboard setting | Your hosting provider |
| Analytics | Built-in dashboard | Bring your own |
| AI exports | /llms.txt, .md routes | /llms.txt, /docs.zip, .md routes, skill discovery |
| Custom routes | Not possible | Mount alongside a Spiceflow app |
| Framework | Proprietary | Vite + React Server Components |
.passthrough(), so you can paste a full Mintlify docs.json without validation errors. Fields Holocron does not consume are silently ignored.1pnpm add @holocron.so/vite react react-dom vite
123456import { defineConfig } from 'vite' import { holocron } from '@holocron.so/vite' export default defineConfig({ plugins: [holocron()], })
docs.json works as-is. Holocron's schema accepts unknown Mintlify fields; the runtime ignores fields it does not consume.1npx vite
http://localhost:5173.title, description, icon, sidebarTitle, tag, hidden, deprecatedcolors, logo, favicon, navbar, footer, redirects, appearance, fonts, banner{ "tab": "API Reference", "openapi": "openapi.json" } generates pages from your spec| Area | Mintlify | Holocron |
| Hosting | Mintlify cloud | Self-hosted (Node.js or Cloudflare Workers) |
| Build | Cloud build on push | Local vite build |
| API playground | Interactive playground | Read-only API reference |
| Analytics | Built-in dashboard | Bring your own |
| Custom domains | Dashboard setting | Your hosting provider |
| Search | Algolia/built-in | Orama (local, built-in) |
docs.json + MDX files │ ▼ ┌────────────────┐ │ Vite Plugin │ reads config, syncs navigation tree, processes MDX │ (holocron()) │ └───────┬────────┘ │ ▼ ┌────────────────┐ │ Spiceflow │ React Server Components framework │ + Tailwind │ auto-added by the plugin └───────┬────────┘ │ ▼ Full docs site with search, OpenAPI, dark mode, AI exports
holocron.so:1npx -y "@holocron.so/cli" deploy
permissions: id-token: write to your workflow.12npx vite build node dist/rsc/index.js
12npx vite build npx wrangler deploy
wrangler.jsonc setup..md routes: append .md to any page URL to get raw markdown. https://your-site.com/quickstart.md/llms.txt: an index of all pages with titles and .md URLs. Agents read this to discover the site structure./docs.zip: download every page as a .md file in one zip. Agents can grep it locally./.well-known/agent-skills/index.json exposes your docs as an installable AI skill.12curl https://your-site.com/llms.txt curl -L https://your-site.com/docs.zip -o docs.zip
my-docs/ ├── index.mdx # pages are MDX files ├── guides/ │ ├── install.mdx │ └── deploy.mdx ├── docs.json # navigation and config ├── vite.config.ts # one-line plugin setup ├── package.json └── public/ # static assets (logos, images)
docs.json and MDX components, but builds locally as a Vite plugin instead of on a hosted platform. You can self-host on Node.js or Cloudflare Workers, or deploy with the Holocron CLI. See the full comparison.docs.json shape for navigation, tabs, groups, anchors, versions, theme colors, and more. Unknown Mintlify fields pass through without validation errors, so you can paste a full config as-is. See Migration from Mintlify.prompt in its frontmatter that records how it was generated and which source files it references. Holocron Maintain reruns those prompts when the referenced sources change and, in GitHub Actions, opens a pull request with the updated pages. See Maintain./llms.txt, /llms-full.txt, .md for every page, and /docs.zip. The ask row at the bottom of this list uses the same assistant. See AI features.