create-zudo-doc CLI
Complete CLI reference for the create-zudo-doc project scaffolder.
Usage
create-zudo-doc [project-name] [options]When run without flags, the CLI launches an interactive wizard. All options can be specified via flags for non-interactive (CI/agent) usage.
You can also use the Setup Preset Generator to interactively build a configuration and copy it as a JSON preset or CLI command.
Options
Project
| Flag | Description | Default |
|---|---|---|
--name <name> | Project name (or first positional arg) | my-docs |
--lang <code> | Default language code | en |
--github-url <url> | GitHub repository URL (drives header link + source link) | — |
--pm <manager> | Package manager: pnpm, npm, yarn, bun | pnpm |
--[no-]install | Install dependencies after scaffolding | prompt |
Color Scheme
| Flag | Description | Default |
|---|---|---|
--color-scheme-mode <mode> | single or light-dark | light-dark |
--scheme <name> | Color scheme (single mode) | Dracula |
--light-scheme <name> | Light scheme (light-dark mode) | Default Light |
--dark-scheme <name> | Dark scheme (light-dark mode) | Default Dark |
--default-mode <mode> | light or dark (light-dark mode) | dark |
--[no-]respect-system-preference | Respect OS color scheme preference | true |
Available Color Schemes
Single-mode schemes (--color-scheme-mode single)
Used with --scheme <name>. The default is Dracula.
Dark schemes:
| Name |
|---|
| Default Dark |
| Dracula |
| Catppuccin Mocha |
| GitHub Dark |
| Nord |
| TokyoNight |
| Gruvbox Dark |
| Atom One Dark |
| Rose Pine |
| Solarized Dark |
| Material Ocean |
| Monokai Pro |
| Everforest Dark |
| Kanagawa Wave |
| Night Owl |
| Ayu Dark |
| VS Code Dark+ |
| Doom One |
| Challenger Deep |
| Catppuccin Frappe |
| Catppuccin Macchiato |
| Gruvbox Dark Hard |
| Rose Pine Moon |
| GitHub Dark Dimmed |
| Ayu Mirage |
| Material Darker |
| Material Dark |
| Monokai Remastered |
| Monokai Vivid |
| Monokai Soda |
| Solarized Dark Higher Contrast |
| Gruvbox Material Dark |
| Kanagawa Dragon |
Light schemes:
| Name |
|---|
| Default Light |
| GitHub Light |
| Catppuccin Latte |
| Solarized Light |
| Rose Pine Dawn |
| Atom One Light |
| Everforest Light |
| Gruvbox Light |
| Ayu Light |
Light-dark pairings (--color-scheme-mode light-dark)
Used with --light-scheme and --dark-scheme. The defaults are Default Light (light) and Default Dark (dark).
| Pairing label | Light scheme | Dark scheme |
|---|---|---|
| Default | Default Light | Default Dark |
| GitHub | GitHub Light | GitHub Dark |
| Catppuccin | Catppuccin Latte | Catppuccin Mocha |
| Solarized | Solarized Light | Solarized Dark |
| Rosé Pine | Rose Pine Dawn | Rose Pine |
| Atom One | Atom One Light | Atom One Dark |
| Everforest | Everforest Light | Everforest Dark |
| Gruvbox | Gruvbox Light | Gruvbox Dark |
| Ayu | Ayu Light | Ayu Dark |
The pairing label is used in the interactive wizard and the Setup Preset Generator. When using CLI flags directly, specify the individual light and dark scheme names.
Features
| Flag | Description | Default |
|---|---|---|
--[no-]i18n | Multi-language support | off |
--[no-]search | Pagefind full-text search | on |
--[no-]sidebar-filter | Real-time sidebar filtering | on |
--[no-]claude-resources | Claude Code docs generation | off |
--[no-]claude-skills | Ship zudo-doc-* Claude Code skills (design-system, translate, version-bump) | off |
--[no-]design-token-panel | Interactive tabbed panel for tweaking spacing, font, size, and color tokens | off |
--[no-]sidebar-resizer | Draggable sidebar width | off |
--[no-]sidebar-toggle | Show/hide desktop sidebar | off |
--[no-]versioning | Multi-version documentation support | off |
--[no-]doc-history | Document edit history | off |
--[no-]body-foot-util | Right-aligned strip below each doc: doc history trigger + View source on GitHub link | off |
--[no-]llms-txt | Generate llms.txt for LLM consumption | off |
--[no-]skill-symlinker | Symlink documentation skills | off |
--[no-]tauri | Tauri desktop app (Mode 1) — macOS offline reader with in-page search | off |
--[no-]tauri-dev | Tauri dev wrapper (Mode 2) — configurable desktop dev wrapper for any project | off |
--[no-]footer-nav-group | Navigation links in the footer | off |
--[no-]image-enlarge | Click-to-enlarge for oversized markdown images | on |
--[no-]footer-copyright | Copyright notice in the footer | off |
--[no-]changelog | Changelog page | off |
--[no-]tag-governance | Vocabulary-aware tag audit + suggest scripts | on |
--[no-]doc-tags | Per-tag and tag-index browsing routes (docs/tags/...) | off |
--[no-]footer-taglist | Grouped tag index in the footer (requires tagGovernance) | off |
Preset
| Flag | Description |
|---|---|
--preset <path> | Load settings from a JSON preset file (use "-" for stdin) |
The --preset flag accepts the JSON output from the Setup Preset Generator. When a preset is loaded, all prompts are skipped (same as --yes). Individual CLI flags override preset values.
General
| Flag | Description |
|---|---|
-y, --yes | Use defaults for unspecified options, skip all prompts |
-h, --help | Show help message |
Supported Languages
The --lang flag accepts any of the following language codes:
| Code | Language |
|---|---|
en | English |
ja | Japanese |
zh-cn | Chinese (Simplified) |
zh-tw | Chinese (Traditional) |
ko | Korean |
es | Spanish |
fr | French |
de | German |
pt | Portuguese |
The default language determines the locale used for root pages (/). When i18n is enabled, a secondary language is added automatically (English when the default is non-English, Japanese when the default is English).
Examples
Interactive mode
pnpm create zudo-docNon-interactive with all defaults
pnpm create zudo-doc my-docs --yesJapanese site with Dracula theme
pnpm create zudo-doc my-docs --lang ja --scheme Dracula --no-i18n --pm pnpm --installLight/dark mode with custom schemes
pnpm create zudo-doc my-docs \
--color-scheme-mode light-dark \
--light-scheme "GitHub Light" \
--dark-scheme "GitHub Dark" \
--default-mode dark \
--yesUsing a preset file
Generate a preset JSON from the Setup Preset Generator, save it to a file, then pass it to the CLI:
pnpm create zudo-doc --preset setup.json --installOr pipe JSON directly via stdin:
cat setup.json | pnpm create zudo-doc --preset - --installCI/automation usage
pnpm create zudo-doc my-docs \
--lang en \
--scheme Nord \
--no-i18n \
--search \
--no-claude-resources \
--pm pnpm \
--install \
--yesProgrammatic API
The package also exports a programmatic API. The options object accepts the same fields as the JSON preset, plus an install option:
import { createZudoDoc } from "create-zudo-doc";
await createZudoDoc({
projectName: "my-docs",
defaultLang: "en",
colorSchemeMode: "light-dark",
lightScheme: "GitHub Light",
darkScheme: "GitHub Dark",
defaultMode: "dark",
respectPrefersColorScheme: true,
features: [
"search",
"sidebarFilter",
"sidebarResizer",
"sidebarToggle",
"docHistory",
"footerCopyright",
],
packageManager: "pnpm",
install: true,
});