zudo-doc
GitHub リポジトリ

Type to search...

to open search from anywhere

ジェネレーターCLIテスト

作成2026年4月27日Takeshi Takatsudo

Claude Codeスキルを使ったcreate-zudo-docジェネレーターCLIのテスト方法。

ジェネレーターCLIテスト

create-zudo-docジェネレーターCLIは、さまざまな機能の組み合わせで新しいzudo-docプロジェクトを生成します。テストでは、各組み合わせがビルド・実行でき、正しいファイルと設定が生成されることを検証します。

2つのClaude Codeスキルでこのワークフローを自動化しています:

スキル目的
/l-generator-cli-tester <pattern>単一の生成パターンをテスト
/l-run-generator-cli-whole-test全9パターンを実行し、バグを修正して検証

テストパターン

各パターンは異なる機能の組み合わせを有効にします:

パターン説明
bareboneすべてOFF — 最小構成
search検索のみ有効
i18ni18nのみ有効
sidebar-filterサイドバーフィルターのみ有効
claude-resourcesClaude Resourcesのみ有効
design-token-panelDesign Token Panelのみ有効(API使用)
light-darkライト・ダークカラースキームモード
lang-jaデフォルト言語を日本語に設定
all-featuresすべてON

テストの実行

全テストスイート

全9パターンをエンドツーエンドで実行し、失敗を自動修正して検証します:

/l-run-generator-cli-whole-test

ヘッドレスブラウザによるレンダリングチェック付き:

/l-run-generator-cli-whole-test --headless

単一パターン

1つのパターンを個別にテストします:

/l-generator-cli-tester barebone
/l-generator-cli-tester all-features --headless

各テストのチェック内容

各パターンは以下のステップを実行します:

  1. スキャフォールド — パターン固有のフラグでジェネレーターCLI(またはプログラマティックAPI)を実行
  2. インストール — 生成されたプロジェクトでpnpm install
  3. ビルドpnpm buildで静的エクスポートの成功を検証
  4. 開発サーバーpnpm devを起動し、8秒待ってプロセスがまだ実行中か確認
  5. ファイル検証 — 有効な機能に基づいて、期待されるファイルの存在/不在を確認
  6. 設定検証 — 生成されたsettings.tsを読み、正しい値を確認
  7. ショーケース比較 — 生成されたコードをメインのzudo-docショーケースと比較
  8. ヘッドレスブラウザ--headless使用時) — 実際のブラウザでページをレンダリングし、JSエラーを確認、視覚要素(検索アイコン、言語切り替え、テーマトグルなど)を検証

バグ修正ワークフロー

/l-run-generator-cli-whole-testスキルには構造化されたバグ修正フェーズがあります:

  1. フェーズ1 — 全9パターンを実行し、結果を収集
  2. フェーズ2 — 各失敗について:失敗ステップの診断、関連ソースファイルの確認、最小限の修正適用、CLIの再ビルドと再テスト、個別コミット
  3. フェーズ3 — 全9パターンを最初から再実行し、リグレッションがないことを確認
  4. フェーズ4 — サマリーレポートを出力

よくある失敗パターン

失敗内容原因修正対象
ビルド時にモジュールが見つからない生成されたpackage.jsonに依存関係がないscaffold.tsgeneratePackageJson()
astro.configでインポートが見つからない機能のインテグレーションが含まれていないastro-config-gen.ts
settings.tsの型エラー設定フィールドが不足または不正settings-gen.ts
機能コンポーネントが見つからない機能モジュールのファイルコピーまたはアンカー不一致features/*.tsまたはtemplates/features/*/files/
アンカーが出力に残っているinjectionアンカーが未クリーンアップcompose.tscleanAnchors()

主要なジェネレーターファイル

ファイル役割
packages/create-zudo-doc/src/scaffold.tsパイプライン統括: ベースコピー、設定生成、機能合成
packages/create-zudo-doc/src/compose.ts合成エンジン: injection、アンカークリーンアップ、機能解決
packages/create-zudo-doc/src/features/*.ts各機能のinjection定義モジュール
packages/create-zudo-doc/src/astro-config-gen.tsastro.config.tsのプログラマティック生成
packages/create-zudo-doc/src/content-config-gen.tscontent.config.tsのプログラマティック生成
packages/create-zudo-doc/src/settings-gen.tssettings.tsの生成
packages/create-zudo-doc/src/constants.ts機能定義、カラースキームリスト
packages/create-zudo-doc/src/cli.tsCLI引数のパース
packages/create-zudo-doc/src/api.tsプログラマティックAPI

注意事項

  • テストディレクトリは__inbox/(gitignored)に作成され、リポジトリを汚染しません
  • bareboneパターンがベースライン — 失敗した場合、他のテストの前に修正してください
  • designTokenPanel--design-token-panel CLIフラグとしても利用可能ですが、design-token-panelall-features などのパターンは他のテストパターンとの一貫性のためプログラマティックAPIで駆動しています
  • --headlessフラグはプロセスレベルのチェックに加えて、ブラウザレベルのレンダリングチェックを追加します
  • テスト前と各修正後には必ずCLIを再ビルド(packages/create-zudo-docpnpm build)してください

Revision History

AI Assistant

Ask a question about the documentation.