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 |
--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 |
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-]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-]claude-resources | Claude Code docs generation | off |
--[no-]doc-history | Document edit history | off |
--[no-]llms-txt | Generate llms.txt for LLM consumption | off |
--[no-]skill-symlinker | Symlink documentation skills | off |
--[no-]footer-nav-group | Navigation links in the footer | off |
--[no-]footer-copyright | Copyright notice in the footer | off |
--[no-]changelog | Changelog page | 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-doc
Non-interactive with all defaults
pnpm create zudo-doc my-docs --yes
Japanese site with Dracula theme
pnpm create zudo-doc my-docs --lang ja --scheme Dracula --no-i18n --pm pnpm --install
Light/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 \
--yes
Using 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 --install
Or pipe JSON directly via stdin:
cat setup.json | pnpm create zudo-doc --preset - --install
CI/automation usage
pnpm create zudo-doc my-docs \
--lang en \
--scheme Nord \
--no-i18n \
--search \
--no-claude-resources \
--pm pnpm \
--install \
--yes
Programmatic 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,
});