create-zudo-doc CLI
create-zudo-doc プロジェクトスキャフォルダーの完全な CLI リファレンス。
使い方
create-zudo-doc [project-name] [options]フラグなしで実行すると、対話式ウィザードが起動します。すべてのオプションはフラグで指定でき、非対話的(CI/エージェント)に使用できます。
セットアッププリセットジェネレーターを使って、対話的に設定を構成し、JSON プリセットまたは CLI コマンドとしてコピーすることもできます。
CLI が生成するもの
スキャフォールドは最小限で、ファイル数はおよそ12個です(プロジェクト構成を参照)。レイアウト、クローム、スキーマはすべて @takazudo/zudo-doc から出荷され、node_modules から消費されるため、生成されるプロジェクトが持つのは本当に固有のものだけです。
機能の選択は単一の zfb.config.ts に zudoDoc({ … }) 呼び出しとして書き込まれ、デフォルトと異なるフィールドだけを含みます(siteName は常に出力されます)。別個の src/ はありません — 唯一の設定ファイルが設定サーフェス全体です。各フィールドについては 設定 を参照してください。
新しいスキャフォールドが意図的に含まないものがいくつかあります:
.zudo-doc.jsonなし — eject のプロベナンスファイルは最初のzudo-doc eject時に遅延生成されるため、eject していないプロジェクトはこれを持ちません。check:html/ HTML バリデーションステップとgen:z-index/check:z-indexコードジェネレーションなし — どちらも生成プロジェクトから削除されました。デフォルトの z-index ティアはパッケージから出荷され、HTML バリデーションと pre-push スイートはオプトインの追加項目です(カスタマイズの pre-push / HTML バリデーション復元の節を参照)。デプロイアダプターや
wrangler.tomlなし — デフォルトのビルドは純粋な静的エクスポートです。デプロイ(や AI アシスタントのような SSR 機能の有効化)は明示的な拡張ステップです。
Note
@takazudo/zdtp は、designTokenPanel を有効化したプロジェクトだけでなく、すべての生成プロジェクトの無条件の依存関係として追加されます。パッケージのクロームはパネルのブートストラップモジュールをモジュールスコープでインポートします(zfb のアイランドスキャナーがそれを見つけられるようにするためです)が、そのモジュール自身は @takazudo/zdtp を即時インポートするのではなく、最初の利用時に動的な import() で遅延読み込みします(遅延読み込みを参照)。それでもバンドラーはそのチャンクをビルドするために node_modules 内でパッケージを解決できる必要があるため、設定に関わらずビルド時に必要な依存関係のままです — 遅延するのはランタイムの読み込みだけです。
カラースキーム
zudo-doc が同梱するカラースキームは Default Light と Default Dark の 2 つだけで、両者は 1 セットの OKLCH ランプを共有しています。--scheme の値として選べる、コミュニティ製やターミナル由来のプリセットカタログはバンドルされていません。
カスタマイズはもう一段深いレイヤー、zfb.config.ts の colorSchemes エスケープハッチフィールドで行います。独自の { ramps, map } パレットマップを zudoDoc({ colorSchemes: { … } }) に渡します(Color の「カスタムカラースキームの追加」を参照)。ソースにコミットする前に Design Token Panel の Palette タブで結果をライブプレビューできます(カラースキームプレビューを参照)。
テーマパック
カラースキームとは独立に、スキャフォールドは同梱のテーマパック — スキームシステムの上に重なる完成済みデザインバンドル — を起点にしたプロジェクトを生成できます。--theme-pack <slug> を渡すか、対話式の「Theme pack:」プロンプト(カラースキームの質問と機能のマルチセレクトの間に表示されます)で答えます。選んだスラッグは生成される zfb.config.ts の themePack に書き込まれます(デフォルト差分のみ出力する規則に従い、default と異なる場合のみ)。ページ内のスイッチャー UI は独立した機能トグル --theme-pack-switcher です。
オプション
プロジェクト
| フラグ | 説明 | デフォルト |
|---|---|---|
--name <name> | プロジェクト名(または最初の位置引数) | my-docs |
--lang <code> | デフォルト言語コード | en |
--github-url <url> | GitHub リポジトリ URL(ヘッダーリンク + ソースリンクに使用) | — |
--pm <manager> | パッケージマネージャー: pnpm, npm, yarn, bun | pnpm |
--[no-]install | スキャフォールディング後に依存関係をインストール | プロンプト |
--[no-]git | git リポジトリと初回コミットを初期化(doc-history メタデータを有効化) | オン |
カラースキーム
| フラグ | 説明 | デフォルト |
|---|---|---|
--color-scheme-mode <mode> | single または light-dark | light-dark |
--scheme <name> | カラースキーム(single モード) | Default Dark |
--light-scheme <name> | ライトスキーム(light-dark モード) | Default Light |
--dark-scheme <name> | ダークスキーム(light-dark モード) | Default Dark |
--default-mode <mode> | light または dark(light-dark モード) | dark |
--[no-]respect-system-preference | OS のカラースキーム設定を尊重 | true |
テーマパック
| フラグ | 説明 | デフォルト |
|---|---|---|
--theme-pack <slug> | 生成プロジェクトに適用するテーマパック — 指定できるスラッグはテーマギャラリーを参照 | default |
機能
| フラグ | 説明 | デフォルト |
|---|---|---|
--[no-]i18n | 多言語対応 | オフ |
--[no-]search | 生成された search-index.json を使った組み込みの全文/ワードマッチ検索 | オン |
--[no-]sidebar-filter | サイドバーのリアルタイムフィルタリング | オン |
--[no-]claude-resources | Claude Code ドキュメント生成 | オフ |
--[no-]claude-skills | zudo-doc-* Claude Code スキルを同梱(design-system、translate、version-bump) | オフ |
--[no-]claude-skills-writing | zudo-doc-writing スキルを同梱(AI 支援執筆向けのドキュメント執筆 + ナビゲーション構造ガイド) | オフ |
--[no-]design-token-panel | スペーシング・フォント・サイズ・カラーの各トークンを編集するタブ型パネル | オフ |
--[no-]theme-pack-switcher | インストール済みテーマパックを切り替える右下のフライアウト(と一覧ダイアログ) | オフ |
--[no-]sidebar-resizer | ドラッグでサイドバー幅を変更 | オフ |
--[no-]sidebar-toggle | デスクトップサイドバーの表示/非表示 | オフ |
--[no-]toc-toggle | デスクトップ目次の表示/非表示(xl 画面の端のシェブロン) | オフ |
--[no-]versioning | 複数バージョンのドキュメント対応 | オフ |
--[no-]doc-history | ドキュメント編集履歴 | オフ |
--[no-]body-foot-util | ドキュメント下部の右寄せストリップ: ドキュメント履歴トリガー + GitHub でソースを表示リンク | オフ |
--[no-]llms-txt | LLM 向け llms.txt を生成 | オフ |
--[no-]skill-symlinker | ドキュメントスキルをClaude CodeまたはCodexへシンボリックリンク | オフ |
--[no-]tauri | Tauri デスクトップアプリ(Mode 1)— ページ内検索付き macOS オフラインリーダー | オフ |
--[no-]tauri-dev | Tauri 開発ラッパー(Mode 2)— 任意プロジェクト向けの設定可能なデスクトップ開発ラッパー | オフ |
--[no-]footer-nav-group | フッターのナビゲーションリンク | オフ |
--[no-]image-enlarge | マークダウン画像のクリック拡大表示 | オン |
--[no-]dynamic-page-transition | 履歴管理付きのSPA風ページ遷移 | オン |
--[no-]footer-copyright | フッターの著作権表示 | オン |
--[no-]changelog | 変更履歴ページ | オフ |
--[no-]tag-governance | 語彙対応タグ監査・サジェストスクリプト | オフ |
--[no-]doc-tags | タグ別・タグ一覧の閲覧ルート(docs/tags/...) | オフ |
--[no-]footer-taglist | フッターのグループ化されたタグ一覧(tagGovernance が必要) | オフ |
--[no-]noindex | ロボットによるインデックスを回避 — noindex メタ + robots.txt | オフ |
プリセット
| フラグ | 説明 |
|---|---|
--preset <path> | JSON プリセットファイルから設定を読み込み("-" で標準入力) |
--preset フラグはセットアッププリセットジェネレーターの JSON 出力を受け付けます。プリセットを読み込むと、すべてのプロンプトがスキップされます(--yes と同様)。個別の CLI フラグはプリセットの値を上書きします。
一般
| フラグ | 説明 |
|---|---|
-y, --yes | 未指定オプションにデフォルトを使用し、プロンプトをスキップ |
-h, --help | ヘルプメッセージを表示 |
サポート言語
--lang フラグは以下の言語コードを受け付けます:
| コード | 言語 |
|---|---|
en | 英語 |
ja | 日本語 |
zh-cn | 中国語(簡体字) |
zh-tw | 中国語(繁体字) |
ko | 韓国語 |
es | スペイン語 |
fr | フランス語 |
de | ドイツ語 |
pt | ポルトガル語 |
デフォルト言語は、ルートページ(/)で使用されるロケールを決定します。i18n が有効な場合、セカンダリ言語が自動的に追加されます(デフォルトが英語以外の場合は英語、デフォルトが英語の場合は日本語)。
使用例
対話モード
pnpm create zudo-docすべてデフォルトで非対話的に実行
pnpm create zudo-doc my-docs --yes日本語サイト、単一ダークスキーム
pnpm create zudo-doc my-docs --lang ja --scheme "Default Dark" --no-i18n --pm pnpm --install明示的なデフォルトモードを指定した Light/Dark モード
pnpm create zudo-doc my-docs \
--color-scheme-mode light-dark \
--default-mode light \
--no-respect-system-preference \
--yesプリセットファイルの使用
セットアッププリセットジェネレーターで JSON プリセットを生成し、ファイルに保存してから CLI に渡します:
pnpm create zudo-doc --preset setup.json --install標準入力から JSON を直接パイプすることもできます:
cat setup.json | pnpm create zudo-doc --preset - --installCI/自動化での使用
pnpm create zudo-doc my-docs \
--lang en \
--scheme "Default Dark" \
--no-i18n \
--search \
--no-claude-resources \
--pm pnpm \
--install \
--yesプログラム API
パッケージはプログラム API もエクスポートしています。オプションオブジェクトは JSON プリセットと同じフィールドに加え、install と git オプションを受け付けます。プログラム API ではどちらもデフォルトで false です:
import { createZudoDoc } from "create-zudo-doc";
await createZudoDoc({
projectName: "my-docs",
defaultLang: "en",
colorSchemeMode: "light-dark",
lightScheme: "Default Light",
darkScheme: "Default Dark",
defaultMode: "dark",
respectPrefersColorScheme: true,
themePack: "foundry",
features: [
"search",
"sidebarFilter",
"sidebarResizer",
"sidebarToggle",
"tocToggle",
"docHistory",
"footerCopyright",
],
cjkFriendly: false,
minifyHtml: true,
headerRightItems: [
{ type: "component", component: "theme-toggle" },
{ type: "component", component: "github-link" },
],
metaTags: {
description: true,
ogImage: "/img/ogp.png",
},
packageManager: "pnpm",
install: true,
git: true,
});headerRightItems(Header Right Items ガイドを参照)と metaTags(設定を参照)は、同名の JSON プリセットフィールドと同じ形式を受け付け、同じルールで検証されます — 未知の headerRightItems コンポーネント/トリガー名や不正な metaTags サブフィールドの型は、スキャフォールド開始前に例外をスローします。