An open-source alternative to Mintlify or GitBook. Write documentation in MDX with the runtime and UI library you already use. Built on Bun + React today, with Node, Deno, and Vue support on the roadmap.
DocuBook is a layer between MDX content and the browser. The core pipeline compiles MDX into renderable output, and the runtime layer determines how that output is served — Node, Bun, or Deno. You bring the content; DocuBook handles everything in between.
flowchart TD
A[MDX Content]
B["@docubook/core — compile pipeline, rehype/remark plugins"]
C["@docubook/mdx-content — portable UI components (framework-agnostic)"]
D["@docubook/flame"]
D1["Bun + React - ready to use"]
D2["Node — in development"]
D3["Deno — in development"]
E[Browser]
A --> B --> C --> D
D --> D1 --> E
D --> D2 --> E
D --> D3 --> E
| Package | Description |
|---|---|
| @docubook/core | Shared MDX compile pipeline, rehype/remark plugins, and markdown utilities. |
| @docubook/mdx-content | Portable MDX components (Mermaid, CodeBlock, Tabs, etc.) with framework-agnostic adapters. |
| @docubook/flame | The runtime layer — a React + MDX framework that bridges compiled content to the browser. Supports Bun today; Node and Deno runtimes coming soon. |
| @docubook/cli | CLI tool to initialize, update, and deploy documentation from your terminal. |
DocuBook is designed to be runtime-agnostic. The same MDX content runs on any supported runtime — swap the runtime layer without touching your content.
| Runtime | UI Library | Status | Recipe |
|---|---|---|---|
| Bun | React | ✅ Available | bun add @docubook/flame |
| Node | React | 🚧 In development | — |
| Deno | React | 🚧 In development | — |
| Bun | Vue | 🔮 Planned | — |
| Node | Vue | 🔮 Planned | — |
| Deno | Vue | 🔮 Planned | — |
mkdir my-docs && cd my-docs
bun add @docubook/flame
bunx flame init
bun run devWarning
The nextjs-vercel, nextjs-docker, and react-router templates are deprecated and will no longer be maintained. Use @docubook/flame as the recommended starting point going forward.
Note
We are very open to all your contributions, no matter how small your contribution is, it will certainly be part of the development of this project.
Please read: CONTRIBUTING.md
Important
This repository uses a monorepo setup powered by pnpm workspaces and Turborepo to manage apps and packages in a single workspace.
For development workflow:
- Vitest provides fast unit testing with native ESM and TypeScript support
- Changesets handles package versioning and release management
- Husky runs automatic linting and formatting before commits
- commitlint ensures commit messages follow the Conventional Commits format consistently
This setup helps keep the codebase organized, maintainable, and contributor-friendly.