Installation

Install @docubook/flame and scaffold your first documentation site on Bun, Node.js, or Deno.

DocuBook Flame runs on Bun >= 1.1.0, Node.js >= 20.11, or Deno >= 2.x. The toolchain and CLI work identically across all three — pick the runtime you already use.

Quick Setup

bun
mkdir my-docs && cd my-docs
bun add @docubook/flame
bunx flame init
bun run dev

Open http://localhost:3000 in your browser.

CLI Reference

shell
flame dev        # Start development server with HMR
flame build      # Build for production
flame preview    # Preview production build
flame deploy              # Build + prepare for GitHub Pages
flame deploy --docker     # Build + generate Docker files
flame init              # Scaffold a new project
flame clean             # Clean build artifacts
flame --help            # Show all commands

The CLI auto-detects your runtime and dispatches to the correct server implementation automatically — flame dev uses Bun.serve on Bun, Node HTTP on Node.js, and Deno HTTP on Deno. Override detection with the FLAME_RUNTIME environment variable:

shell
FLAME_RUNTIME=node flame dev    # Force Node runtime
FLAME_RUNTIME=deno flame dev    # Force Deno runtime

Scaffolded projects have these scripts in package.json:

json
{
  "scripts": {
    "dev": "flame dev",
    "build": "NODE_ENV=production flame build",
    "preview": "flame preview",
    "deploy": "flame deploy"
  }
}

When scaffolding on Deno, flame init also generates a deno.json with nodeModulesDir: "auto" and sets the scripts to use the npm: specifier.

Global Installation

bun
bun add -g @docubook/flame

After global install, run:

shell
flame init
flame dev

Runtime Notes

AreaBunNode.jsDeno
TypeScriptRuns .ts directlyNeeds precompiled .docu/libNeeds precompiled .docu/lib
First runInstant (native TS)compile-lib.mjs on first dev/buildcompile-lib.mjs on first dev/build
Dev serverBun.serveNode HTTP + @docubook/runtDeno HTTP + @docubook/runt
BuildBun-native bundleresbuild (via hydrate.node)esbuild (via hydrate.node)
Spawn modelDirect script executionIn-process build.implIn-process build.impl
Env overrideFLAME_RUNTIME=bunFLAME_RUNTIME=nodeFLAME_RUNTIME=deno

The precompiled .docu/lib directory is gitignored in monorepo clones and generated automatically on first flame dev or flame build for non-Bun runtimes.

Last updated Jul 21, 2026