zudo-doc
GitHub リポジトリ

検索したい単語を入力

いつでも検索バーを開ける

インストール

作成 2026年3月11日更新 2026年7月24日Takeshi Takatsudo

zudo-doc のインストールとローカル開発環境のセットアップ方法。

前提条件

  • Node.js 22+ — zfbおよびツールチェーンに必要

  • pnpm — 推奨パッケージマネージャー

Info

npm、yarn、bun も使用できますが、このガイドでは pnpm を使用します。

新規プロジェクトの作成

create-zudo-doc CLI を使うと、対話式のセットアップウィザードで新規プロジェクトをすばやく作成できます。

pnpm create zudo-doc

他のパッケージマネージャーの場合:

npm create zudo-doc
yarn create zudo-doc
bunx create-zudo-doc

非対話的な使用(CI、自動化、AI エージェント)では、--yes でデフォルトを使用するか、フラグを直接指定できます:

pnpm create zudo-doc my-docs --yes
pnpm create zudo-doc my-docs --lang ja --scheme "Default Dark" --no-i18n --pm pnpm --install

すべてのフラグについては CLI リファレンス を参照してください。

CLI では以下のオプションを順番に設定します。

プロジェクト名

プロジェクトディレクトリの名前を入力します(デフォルト: my-docs)。

デフォルト言語

ドキュメントサイトのデフォルト言語を選択します。英語、日本語、中国語(簡体字/繁体字)、韓国語、スペイン語、フランス語、ドイツ語、ポルトガル語がサポートされています。

カラースキームモード

サイトのカラースキーム設定を選択します。

  • Light & Dark(トグル) — ユーザーがライトとダークテーマを切り替え可能。同梱の Default Light / Default Dark ペアを使用します。

  • Single scheme — サイト全体で1つの固定カラースキーム。Default Light または Default Dark のいずれかです。

Light/Dark モードでは、デフォルトモード(ライトまたはダーク)の設定や、ユーザーのシステムカラースキーム設定を尊重するかどうかも選択できます。

zudo-doc が同梱するのはこの 2 つのスキームだけで、両者は 1 セットの OKLCH ランプを共有しています。ブラウズできるコミュニティ製やターミナル由来のプリセットカタログはありません。デフォルトはパッケージが所有しており、新しいスキャフォールドにはカラースキームモジュールがありません。パレットをカスタマイズするには独自のスキームモジュールを作成し、zfb.config.tszudoDoc({ ... })colorSchemes フィールドで渡します(カラーガイドを参照)。その後、Design Token Panel の Palette タブで変更をライブプレビューできます(カラースキームプレビューを参照)。

機能選択

対話式ピッカーで、国際化、検索とサイドバーツール、Claude リソースとスキル、デザインとナビゲーションの操作、バージョニングとドキュメント履歴、タグと変更履歴、デスクトップラッパー、インデックス制御のオプションモジュールを選択します。組み込みの全文/ワードマッチ検索、サイドバーフィルター、画像拡大、動的ページ遷移、フッター著作権表示はデフォルトで選択されています。

機能の完全な一覧、デフォルト、非対話的なフラグは CLI リファレンス を参照してください。

パッケージマネージャー

使用するパッケージマネージャーを選択します: pnpm(推奨)、npm、yarn、bun。スキャフォールディング後に依存関係をインストールするか確認されます。

Tip

インストーラーは選択内容を単一の zfb.config.ts に書き込みます。これはデフォルトと異なるフィールドだけを持つ zudoDoc({ … }) 呼び出しです。プロジェクト作成後にいつでも設定を変更できます。全フィールドのリファレンスは 設定 を参照してください。

代替方法: リポジトリのクローン

リポジトリを直接クローンして始めることもできます。

git clone https://github.com/zudolab/zudo-doc.git my-docs
cd my-docs
pnpm install

Note

リポジトリのクローンでは、ドキュメントソースとすべての機能が含まれた完全なプロジェクトが取得できます。コードベース全体を確認したい場合や、zudo-doc 自体に貢献したい場合にこの方法を使用してください。

開発

pnpm dev

zfb 開発サーバーがインスタントなホットモジュールリプレースメントとともにポート4321で起動します。

Warning

ポート4321が使用可能であることを確認してください。別のプロセスがすでに使用中の場合、pnpm devEADDRINUSEで失敗します。競合するプロセスを終了してから再試行してください。

ビルド

pnpm build

dist/ ディレクトリに静的HTMLが生成されます。任意の静的ホスティングサービスにデプロイできます。

型チェック

pnpm check

プロジェクトのTypeScript型チェッカーをstrictモードで実行します。

Danger

dist/ ディレクトリはソース管理にコミットしないでください。.gitignore で除外済みです。

プロジェクト構成

新しくスキャフォールドされたプロジェクトは意図的に小さく、ファイル数はおよそ12個です:

my-docs/
├── .gitignore              # node_modules, dist, .zfb
├── .npmrc                  # trust-policy-exclude[]=undici-types@6.21.0
├── pnpm-workspace.yaml     # minimumReleaseAge: 0(pnpm 11 のリリース経過時間ゲートを無効化)
├── CLAUDE.md               # project notes for Claude Code
├── package.json            # deps + dev/build/preview/check scripts
├── tsconfig.json           # 5-line extends of the package base config
├── zfb.config.ts           # the ONE config file — a zudoDoc({ … }) call
├── pages/
│   ├── index.tsx           # home route (1-line re-export)
│   └── docs/
│       └── [[...slug]].tsx # doc-route stub (see the callout below)
└── src/
    ├── content/
    │   └── docs/
    │       └── getting-started/
    │           ├── index.mdx
    │           ├── installation.mdx
    │           └── introduction.mdx
    └── styles/
        └── global.css      # ~20-line @import chain + your token overrides
ファイル役割
zfb.config.tsプロジェクト全体の設定。@takazudo/zudo-doc/config から zudoDoc をインポートし、選んだフィールドを渡します。それ以外はすべて文書化されたデフォルトにフォールバックします。
tsconfig.json@takazudo/zudo-doc/tsconfig.base.json を extends し、include と preact-compat の paths だけを足します。
src/styles/global.cssパッケージの theme.css / content.css / features.css@import し、トークン上書き用に @theme { … } ブロックを残します。
src/content/docs/MDX で書くドキュメント本体。スキャフォールドは差し替え用に getting-started/ ページをいくつかシードします。
pages/index.tsx, pages/docs/[[...slug]].tsx薄いルートスタブ — 下記を参照。

なぜこんなに少ないのか

プロジェクトが以前は自身にコピーしていたもの — レイアウト、ヘッダー、サイドバー、TOC、ナビゲーションビルダー、URL ヘルパー、カラースキームユーティリティ、フロントマタースキーマ — は、いまや @takazudo/zudo-doc から出荷され、node_modules から直接消費されます。ドキュメントルートはパッケージによって注入され(packageOwnedRoutes はデフォルトで true)、そのため pages/ ディレクトリには一式のレイアウトファイルではなく下記の2つのスタブだけが残ります。新しいプロジェクトが持つのは、本当に固有のものだけ — 設定、コンテンツ、そしていくつかのルートシームです。

なぜ pages/index.tsx があるのか

ホームルートは、パッケージ所有の静的インデックスルートを1行で re-export したものです:

pages/index.tsx
export { default } from "@takazudo/zudo-doc/routes/index";

静的な / ルートはビルド時の paths() 抽出を必要としないため、この re-export 形式が使えます。

なぜ pages/docs/[[...slug]].tsx があるのか

パッケージのルート注入はビルド時にドキュメントページをレンダリングしますが、注入された動的ルートは現在 zfb devpnpm dev)で 404 を返します。dev のオーサリングループを機能させ続けるため、パッケージの認可されたエントリーポイント(@takazudo/zudo-doc/route-context + /chrome + virtual:zudo-doc-route-context モジュール)からルートを再構築する小さな自己完結型スタブが出荷されます。これにより /docs/zfb devzfb build の両方で 200 を返します。

これはスキャフォールドの中で唯一の暫定ファイルであり、アップストリームの dev レンダリングギャップが解消され次第なくなります(フォローアップ #2667)。

ドキュメントページの作成と整理方法については ドキュメントの書き方 ガイドを、設定の微調整から完全なソース制御までのはしごについては zudo-doc のカスタマイズ を参照してください。

Revision History

Takeshi Takatsudo作成: 2026-03-11T22:32:04+09:00更新: 2026-07-25T02:46:18+09:00

AI Assistant

Ask a question about the documentation.

Preview theme

Loading theme previews…