zudo-doc

Type to search...

to open search from anywhere

ジェネレーターCLIテスト

作成2026年3月22日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のみ有効
color-tweak-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()
インポートが見つからない無効化された機能のインポートが除去されていないstrip.ts
settings.tsの型エラー設定フィールドが不足または不正settings-gen.ts
コンポーネントが除去済みコンポーネントを参照テンプレートの使用箇所が除去されていないstrip.tsのパッチパターン
不要な機能ファイルが残っているストリップ時にファイルが削除されていないstrip.ts

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

ファイル役割
packages/create-zudo-doc/src/scaffold.tsテンプレートのコピー、package.jsonの生成
packages/create-zudo-doc/src/strip.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パターンがベースライン — 失敗した場合、他のテストの前に修正してください
  • colorTweakPanelにはCLIフラグがありません — 使用するパターン(color-tweak-panelall-features)はプログラマティックAPIを使用します
  • --headlessフラグはプロセスレベルのチェックに加えて、ブラウザレベルのレンダリングチェックを追加します
  • テスト前と各修正後には必ずCLIを再ビルド(packages/create-zudo-docpnpm build)してください

Revision History

AI Assistant

Ask a question about the documentation.