ジェネレーターCLIテスト
Claude Codeスキルを使ったcreate-zudo-docジェネレーターCLIのテスト方法。
ジェネレーターCLIテスト
create-zudo-docジェネレーターCLIは、さまざまな機能の組み合わせで新しいzudo-docプロジェクトを生成します。テストでは、各組み合わせがビルド・実行でき、正しいファイルと設定が生成されることを検証します。
2つのClaude Codeスキルでこのワークフローを自動化しています:
| スキル | 目的 |
|---|---|
/ | 単一の生成パターンをテスト |
/ | 全9パターンを実行し、バグを修正して検証 |
テストパターン
各パターンは異なる機能の組み合わせを有効にします:
| パターン | 説明 |
|---|---|
barebone | すべてOFF — 最小構成 |
search | 検索のみ有効 |
i18n | i18nのみ有効 |
sidebar-filter | サイドバーフィルターのみ有効 |
claude-resources | Claude Resourcesのみ有効 |
design-token-panel | Design 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各テストのチェック内容
各パターンは以下のステップを実行します:
スキャフォールド — パターン固有のフラグでジェネレーターCLI(またはプログラマティックAPI)を実行
インストール — 生成されたプロジェクトで
pnpm installビルド —
pnpm buildで静的エクスポートの成功を検証開発サーバー —
pnpm devを起動し、8秒待ってプロセスがまだ実行中か確認ファイル検証 — 有効な機能に基づいて、期待されるファイルの存在/不在を確認
設定検証 — 生成された
settings.tsを読み、正しい値を確認ショーケース比較 — 生成されたコードをメインのzudo-docショーケースと比較
ヘッドレスブラウザ(
--headless使用時) — 実際のブラウザでページをレンダリングし、JSエラーを確認、視覚要素(検索アイコン、言語切り替え、テーマトグルなど)を検証
バグ修正ワークフロー
/スキルには構造化されたバグ修正フェーズがあります:
フェーズ1 — 全9パターンを実行し、結果を収集
フェーズ2 — 各失敗について:失敗ステップの診断、関連ソースファイルの確認、最小限の修正適用、CLIの再ビルドと再テスト、個別コミット
フェーズ3 — 全9パターンを最初から再実行し、リグレッションがないことを確認
フェーズ4 — サマリーレポートを出力
よくある失敗パターン
| 失敗内容 | 原因 | 修正対象 |
|---|---|---|
| ビルド時にモジュールが見つからない | 生成されたpackage.jsonに依存関係がない | scaffold.ts — generatePackageJson() |
| zfb.configでインポートが見つからない | 機能のインテグレーションが含まれていない | zfb-config-gen.ts |
| settings.tsの型エラー | 設定フィールドが不足または不正 | settings-gen.ts |
| 機能コンポーネントが見つからない | 機能モジュールのファイルコピーまたはアンカー不一致 | features/*.tsまたはtemplates/features/*/files/ |
| アンカーが出力に残っている | injectionアンカーが未クリーンアップ | compose.ts — cleanAnchors() |
主要なジェネレーターファイル
| ファイル | 役割 |
|---|---|
packages/ | パイプライン統括: ベースコピー、設定生成、機能合成 |
packages/ | 合成エンジン: injection、アンカークリーンアップ、機能解決 |
packages/ | 各機能のinjection定義モジュール |
packages/ | zfb.config.tsのプログラマティック生成 |
packages/ | settings.tsの生成 |
packages/ | 機能定義、カラースキームリスト |
packages/ | CLI引数のパース |
packages/ | プログラマティックAPI |
注意事項
テストディレクトリは
__inbox/(gitignored)に作成され、リポジトリを汚染しませんbareboneパターンがベースライン — 失敗した場合、他のテストの前に修正してくださいdesignTokenPanelは--design-token-panelCLIフラグとしても利用可能ですが、design-token-panelやall-featuresなどのパターンは他のテストパターンとの一貫性のためプログラマティックAPIで駆動しています--headlessフラグはプロセスレベルのチェックに加えて、ブラウザレベルのレンダリングチェックを追加しますテスト前と各修正後には必ずCLIを再ビルド(
packages/create-zudo-docでpnpm build)してください