create-ai-project 1.19.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/.claude/agents-en/acceptance-test-generator.md +9 -2
  2. package/.claude/agents-en/code-verifier.md +14 -4
  3. package/.claude/agents-en/codebase-analyzer.md +176 -0
  4. package/.claude/agents-en/document-reviewer.md +8 -0
  5. package/.claude/agents-en/integration-test-reviewer.md +2 -2
  6. package/.claude/agents-en/quality-fixer-frontend.md +32 -5
  7. package/.claude/agents-en/quality-fixer.md +32 -5
  8. package/.claude/agents-en/task-decomposer.md +23 -2
  9. package/.claude/agents-en/task-executor-frontend.md +48 -3
  10. package/.claude/agents-en/task-executor.md +48 -3
  11. package/.claude/agents-en/technical-designer-frontend.md +7 -0
  12. package/.claude/agents-en/technical-designer.md +7 -0
  13. package/.claude/agents-en/work-planner.md +37 -14
  14. package/.claude/agents-ja/acceptance-test-generator.md +9 -2
  15. package/.claude/agents-ja/code-verifier.md +14 -4
  16. package/.claude/agents-ja/codebase-analyzer.md +176 -0
  17. package/.claude/agents-ja/document-reviewer.md +8 -0
  18. package/.claude/agents-ja/integration-test-reviewer.md +2 -2
  19. package/.claude/agents-ja/quality-fixer-frontend.md +32 -6
  20. package/.claude/agents-ja/quality-fixer.md +32 -6
  21. package/.claude/agents-ja/task-decomposer.md +23 -2
  22. package/.claude/agents-ja/task-executor-frontend.md +48 -3
  23. package/.claude/agents-ja/task-executor.md +48 -3
  24. package/.claude/agents-ja/technical-designer-frontend.md +7 -0
  25. package/.claude/agents-ja/technical-designer.md +7 -0
  26. package/.claude/agents-ja/work-planner.md +37 -14
  27. package/.claude/commands-en/design.md +17 -6
  28. package/.claude/commands-en/front-design.md +11 -3
  29. package/.claude/commands-en/implement.md +2 -0
  30. package/.claude/commands-en/reverse-engineer.md +2 -6
  31. package/.claude/commands-en/update-doc.md +16 -2
  32. package/.claude/commands-ja/design.md +17 -6
  33. package/.claude/commands-ja/front-design.md +11 -3
  34. package/.claude/commands-ja/implement.md +2 -0
  35. package/.claude/commands-ja/reverse-engineer.md +2 -6
  36. package/.claude/commands-ja/update-doc.md +16 -2
  37. package/.claude/skills-en/documentation-criteria/references/design-template.md +20 -0
  38. package/.claude/skills-en/documentation-criteria/references/task-template.md +5 -0
  39. package/.claude/skills-en/integration-e2e-testing/SKILL.md +4 -2
  40. package/.claude/skills-en/integration-e2e-testing/references/e2e-environment-prerequisites.md +70 -0
  41. package/.claude/skills-en/subagents-orchestration-guide/SKILL.md +64 -32
  42. package/.claude/skills-en/task-analyzer/references/skills-index.yaml +2 -0
  43. package/.claude/skills-en/typescript-testing/SKILL.md +39 -0
  44. package/.claude/skills-ja/documentation-criteria/references/design-template.md +20 -0
  45. package/.claude/skills-ja/documentation-criteria/references/task-template.md +5 -0
  46. package/.claude/skills-ja/integration-e2e-testing/SKILL.md +4 -0
  47. package/.claude/skills-ja/integration-e2e-testing/references/e2e-environment-prerequisites.md +70 -0
  48. package/.claude/skills-ja/subagents-orchestration-guide/SKILL.md +64 -32
  49. package/.claude/skills-ja/task-analyzer/references/skills-index.yaml +2 -0
  50. package/.claude/skills-ja/typescript-testing/SKILL.md +39 -0
  51. package/CHANGELOG.md +50 -0
  52. package/README.ja.md +1 -1
  53. package/README.md +1 -1
  54. package/package.json +3 -4
  55. package/.madgerc +0 -14
@@ -54,13 +54,15 @@ graph TD
54
54
 
55
55
  ### ドキュメント作成エージェント
56
56
  6. **requirement-analyzer**: 要件分析と作業規模判定(WebSearch対応、最新技術情報の調査)
57
- 7. **prd-creator**: Product Requirements Document作成(WebSearch対応、市場動向調査)
58
- 8. **ui-spec-designer**: PRDとプロトタイプコード(任意)からUI Spec作成(フロントエンド/フルスタック機能)
59
- 9. **technical-designer**: ADR/Design Doc作成(最新技術情報の調査、Property注釈付与)
60
- 10. **work-planner**: 作業計画書作成(テストスケルトンからメタ情報を抽出・反映)
61
- 11. **document-reviewer**: 単一ドキュメントの品質・完成度・ルール準拠チェック
62
- 12. **design-sync**: Design Doc間の整合性検証(明示的矛盾のみ検出)
63
- 13. **acceptance-test-generator**: Design DocのACとUI Spec(任意)から統合テストとE2Eテストのスケルトン生成
57
+ 7. **codebase-analyzer**: 既存コードベースを分析し技術設計への重点的なガイダンスを生成
58
+ 8. **prd-creator**: Product Requirements Document作成(WebSearch対応、市場動向調査)
59
+ 9. **ui-spec-designer**: PRDとプロトタイプコード(任意)からUI Spec作成(フロントエンド/フルスタック機能)
60
+ 10. **technical-designer**: ADR/Design Doc作成(最新技術情報の調査、Property注釈付与)
61
+ 11. **work-planner**: 作業計画書作成(テストスケルトンからメタ情報を抽出・反映)
62
+ 12. **document-reviewer**: 単一ドキュメントの品質・完成度・ルール準拠チェック
63
+ 13. **code-verifier**: Design Docの主張を既存コードベースに対して検証(設計フローでレビュー前に使用)
64
+ 14. **design-sync**: Design Doc間の整合性検証(明示的矛盾のみ検出)
65
+ 15. **acceptance-test-generator**: Design DocのACとUI Spec(任意)から統合テストとE2Eテストのスケルトン生成
64
66
 
65
67
  ## オーケストレーション原則
66
68
 
@@ -104,8 +106,10 @@ graph TD
104
106
 
105
107
  サブエージェントはJSON形式で応答。オーケストレーター判断に必要なフィールド:
106
108
  - **requirement-analyzer**: scale, confidence, adrRequired, crossLayerScope, scopeDependencies, questions
107
- - **task-executor**: status (escalation_needed/blocked/completed), testsAdded, requiresTestReview
108
- - **quality-fixer**: approved (true/false)
109
+ - **codebase-analyzer**: analysisScope.categoriesDetected, dataModel.detected, focusAreas[], existingElements count, limitations
110
+ - **code-verifier**:(設計フロー時)consistencyScore, discrepancies[], reverseCoverage(dataOperationsInCode, testBoundariesSectionPresent含む)
111
+ - **task-executor**: status (escalation_needed/completed), escalation_type (design_compliance_violation/similar_function_found/similar_component_found/investigation_target_not_found/out_of_scope_file), testsAdded, requiresTestReview
112
+ - **quality-fixer**: status (approved/blocked)。blockedタイプは`reason`フィールドで判別: `"Cannot determine due to unclear specification"` → `blockingIssues[]`で仕様詳細を参照; `"Execution prerequisites not met"` → `missingPrerequisites[]`の`resolutionSteps`を参照し、ユーザーにアクション可能なステップとして提示
109
113
  - **document-reviewer**: approvalReady (true/false)
110
114
  - **design-sync**: sync_status (synced/conflicts_found)
111
115
  - **integration-test-reviewer**: status (approved/needs_revision/blocked), requiredFixes
@@ -114,7 +118,7 @@ graph TD
114
118
 
115
119
  ## 作業計画時の基本フロー
116
120
 
117
- ### 大規模(6ファイル以上) - 11ステップ(バックエンド) / 13ステップ(フロントエンド/フルスタック)
121
+ ### 大規模(6ファイル以上) - 13ステップ(バックエンド) / 15ステップ(フロントエンド/フルスタック)
118
122
 
119
123
  1. requirement-analyzer → 要件分析 + 既存PRD確認 **[停止]**
120
124
  2. prd-creator → PRD作成
@@ -123,24 +127,28 @@ graph TD
123
127
  5. **(フロントエンド/フルスタックのみ)** document-reviewer → UI Specレビュー **[停止: UI Spec承認]**
124
128
  6. technical-designer → ADR作成(アーキテクチャ/技術/データフロー変更がある場合)
125
129
  7. document-reviewer → ADRレビュー(ADR作成時) **[停止: ADR承認]**
126
- 8. technical-designerDesign Doc作成(レイヤー横断時: レイヤー別に作成、レイヤー横断オーケストレーション参照)
127
- 9. document-reviewer → Design Docレビュー(レイヤー横断時: Design Doc毎に実行)
128
- 10. design-sync整合性検証 **[停止: Design Doc承認]**
129
- 11. acceptance-test-generatorテストスケルトン生成、work-plannerに渡す (*1)
130
- 12. work-planner作業計画書作成 **[停止: 一括承認]**
131
- 13. task-decomposer自律実行 → 完了報告
130
+ 8. codebase-analyzerコードベース分析(要件分析結果 + PRDパスを入力)
131
+ 9. technical-designer → Design Doc作成(codebase-analyzer出力を追加コンテキストとして入力。レイヤー横断時: レイヤー別に作成、レイヤー横断オーケストレーション参照)
132
+ 10. code-verifier → Design Docを既存コードに対して検証(doc_type: design-doc)
133
+ 11. document-reviewerDesign Docレビュー(code-verifier結果をcode_verificationとして入力。レイヤー横断時: Design Doc毎に実行)
134
+ 12. design-sync整合性検証 **[停止: Design Doc承認]**
135
+ 13. acceptance-test-generatorテストスケルトン生成、work-plannerに渡す (*1)
136
+ 14. work-planner → 作業計画書作成 **[停止: 一括承認]**
137
+ 15. task-decomposer → 自律実行 → 完了報告
132
138
 
133
- ### 中規模(3-5ファイル) - 7ステップ(バックエンド) / 9ステップ(フロントエンド/フルスタック)
139
+ ### 中規模(3-5ファイル) - 9ステップ(バックエンド) / 11ステップ(フロントエンド/フルスタック)
134
140
 
135
141
  1. requirement-analyzer → 要件分析 **[停止]**
136
- 2. **(フロントエンド/フルスタックのみ)** プロトタイプコードの有無を確認 → ui-spec-designerUI Spec作成
137
- 3. **(フロントエンド/フルスタックのみ)** document-reviewerUI Specレビュー **[停止: UI Spec承認]**
138
- 4. technical-designerDesign Doc作成(レイヤー横断時: レイヤー別に作成、レイヤー横断オーケストレーション参照)
139
- 5. document-reviewer → Design Docレビュー(レイヤー横断時: Design Doc毎に実行)
140
- 6. design-sync整合性検証 **[停止: Design Doc承認]**
141
- 7. acceptance-test-generatorテストスケルトン生成、work-plannerに渡す (*1)
142
- 8. work-planner作業計画書作成 **[停止: 一括承認]**
143
- 9. task-decomposer自律実行 → 完了報告
142
+ 2. codebase-analyzerコードベース分析(要件分析結果を入力)
143
+ 3. **(フロントエンド/フルスタックのみ)** プロトタイプコードの有無を確認ui-spec-designer UI Spec作成
144
+ 4. **(フロントエンド/フルスタックのみ)** document-reviewerUI Specレビュー **[停止: UI Spec承認]**
145
+ 5. technical-designer → Design Doc作成(codebase-analyzer出力を追加コンテキストとして入力。レイヤー横断時: レイヤー別に作成、レイヤー横断オーケストレーション参照)
146
+ 6. code-verifier → Design Docを既存コードに対して検証(doc_type: design-doc)
147
+ 7. document-reviewerDesign Docレビュー(code-verifier結果をcode_verificationとして入力。レイヤー横断時: Design Doc毎に実行)
148
+ 8. design-sync整合性検証 **[停止: Design Doc承認]**
149
+ 9. acceptance-test-generatorテストスケルトン生成、work-plannerに渡す (*1)
150
+ 10. work-planner → 作業計画書作成 **[停止: 一括承認]**
151
+ 11. task-decomposer → 自律実行 → 完了報告
144
152
 
145
153
  ### 小規模(1-2ファイル) - 2ステップ
146
154
 
@@ -157,14 +165,18 @@ requirement-analyzerが複数レイヤー(backend + frontend)にまたがる
157
165
 
158
166
  | ステップ | エージェント | 目的 |
159
167
  |---------|-----------|------|
160
- | 6a | technical-designer | バックエンドDesign Doc |
161
- | 6b | technical-designer-frontend | フロントエンドDesign Doc |
162
- | 7 | document-reviewer ×2 | Design Docを個別にレビュー |
163
- | 8 | design-sync | レイヤー間整合性検証 **[停止]** |
168
+ | 8 | codebase-analyzer ×2 | レイヤー別コードベース分析(要件分析結果をレイヤーでフィルタして入力) |
169
+ | 9a | technical-designer | バックエンドDesign Doc(バックエンドcodebase-analyzerコンテキスト付き) |
170
+ | 9b | technical-designer-frontend | フロントエンドDesign Doc(フロントエンドcodebase-analyzerコンテキスト + バックエンドIntegration Points付き) |
171
+ | 10 | code-verifier ×2 | 各Design Docを既存コードに対して検証 |
172
+ | 11 | document-reviewer ×2 | 各Design Docをレビュー(code-verifier結果をcode_verificationとして入力) |
173
+ | 12 | design-sync | レイヤー間整合性検証 **[停止]** |
174
+
175
+ ×2のステップはレイヤー毎に1回ずつ呼び出す。各呼び出しは独立しており、オーケストレーターが並列Agent呼び出しをサポートする場合は並列実行可能。
164
176
 
165
177
  **Design Doc作成時のレイヤーコンテキスト指定**:
166
- - **バックエンド**: 「[path]のPRDからバックエンドDesign Docを作成。対象: APIコントラクト、データ層、ビジネスロジック、サービスアーキテクチャ。」
167
- - **フロントエンド**: 「[path]のPRDからフロントエンドDesign Docを作成。[path]のバックエンドDesign DocのAPIコントラクトとIntegration Pointsを参照。対象: コンポーネント階層、状態管理、UI操作、データ取得。」
178
+ - **バックエンド**: 「PRD [パス] からバックエンドDesign Docを作成。コードベース分析: [バックエンドレイヤー用codebase-analyzerのJSON]。対象: APIコントラクト、データ層、ビジネスロジック、サービスアーキテクチャ。」
179
+ - **フロントエンド**: 「PRD [パス] からフロントエンドDesign Docを作成。コードベース分析: [フロントエンドレイヤー用codebase-analyzerのJSON]。バックエンドDesign Doc [パス] のAPIコントラクトとIntegration Pointsを参照。対象: コンポーネント階層、状態管理、UI操作、データ取得。」
168
180
 
169
181
  **design-sync**: フロントエンドDesign Docをソースとして使用。`docs/design/`内の他のDesign Docを自動検出して比較。
170
182
 
@@ -224,6 +236,16 @@ requirement-analyzerが複数レイヤー(backend + frontend)にまたがる
224
236
 
225
237
  エージェントのInput Parametersセクションと、フロー内のその時点で利用可能な成果物からプロンプトを構成する。
226
238
 
239
+ ### Call Example (codebase-analyzer)
240
+ - subagent_type: "codebase-analyzer"
241
+ - description: "コードベース分析"
242
+ - prompt: "requirement_analysis: [要件分析のJSON]. prd_path: [存在する場合はパス]. requirements: [元のユーザー要件]. 既存コードベースを分析し設計ガイダンスを生成してください。"
243
+
244
+ ### Call Example (code-verifier — 設計フロー)
245
+ - subagent_type: "code-verifier"
246
+ - description: "Design Doc検証"
247
+ - prompt: "doc_type: design-doc document_path: [Design Docパス] Design Docを既存コードに対して検証してください。"
248
+
227
249
  ## オーケストレーターの主な役割
228
250
 
229
251
  1. **状態管理**: 現在のフェーズ、各サブエージェントの状態、次のアクションを把握
@@ -234,6 +256,16 @@ requirement-analyzerが複数レイヤー(backend + frontend)にまたがる
234
256
  - changeSummaryからコミットメッセージを作成 → **Bashでgit commit実行**
235
257
  - 要件変更時は初期要件と追加要件を明示的に統合
236
258
 
259
+ #### codebase-analyzer → technical-designer
260
+
261
+ **codebase-analyzerへの入力**: 要件分析JSON出力、PRDパス(存在する場合)、元のユーザー要件
262
+ **technical-designerへの入力**: codebase-analyzerのJSON出力をDesign Doc作成プロンプトの追加コンテキストとして渡す。designerは`focusAreas`と`dataModel`を「既存コードベース分析」セクションに反映する。
263
+
264
+ #### code-verifier → document-reviewer(Design Docレビュー)
265
+
266
+ **code-verifierへの入力**: Design Docパス(doc_type: design-doc)。`code_paths`は意図的に未指定 — verifierがドキュメントからコードスコープを独自に発見する。
267
+ **document-reviewerへの入力**: code-verifierのJSON出力を`code_verification`パラメータとして渡す。
268
+
237
269
  #### *1 acceptance-test-generator → work-planner
238
270
 
239
271
  **acceptance-test-generatorへの入力**:
@@ -249,7 +281,7 @@ requirement-analyzerが複数レイヤー(backend + frontend)にまたがる
249
281
  - E2Eテストファイル: [パス](最終フェーズでのみ実行)
250
282
 
251
283
  **エラー時**: ファイルが生成されない場合はユーザーにエスカレーション
252
- 3. **品質保証とコミット実行**: approved=true確認後、即座にgit commit実行
284
+ 3. **品質保証とコミット実行**: `status: "approved"`確認後、即座にgit commit実行
253
285
  4. **自律実行モード管理**: 承認後の自律実行開始・停止・エスカレーション判断
254
286
  5. **ADRステータス管理**: ユーザー判断後のADRステータス更新(Accepted/Rejected)
255
287
 
@@ -60,6 +60,7 @@ skills:
60
60
  - "テストの実装規約"
61
61
  - "テスト品質基準"
62
62
  - "モックの型安全性"
63
+ - "データ層テスト"
63
64
  - "Vitestの基本例"
64
65
 
65
66
  technical-spec:
@@ -138,6 +139,7 @@ skills:
138
139
  - "Node.js Testing Best Practices - Yoni Goldberg"
139
140
  - "Property-Based Testing - 2025 Practices"
140
141
  - "references/e2e-design.md - E2Eテスト設計原則"
142
+ - "references/e2e-environment-prerequisites.md - E2E環境前提条件"
141
143
  sections:
142
144
  - "References"
143
145
  - "テスト種別と上限"
@@ -135,6 +135,45 @@ const sdkMock = {
135
135
  } as unknown as ExternalSDK // 外部SDKの複雑な型のため
136
136
  ```
137
137
 
138
+ ## データ層テスト
139
+
140
+ ### データ層に対するモックの限界
141
+
142
+ モックは呼び出しパターンを検証するが、データ層の正確性は検証できない。モックのみのテストでは以下が検出されずに通過する:
143
+ - スキーマの不一致(テーブル名、カラム名、データ型)
144
+ - クエリの正確性(JOIN、フィルタ、集約、グルーピング)
145
+ - データベース制約(NOT NULL、UNIQUE、外部キー)
146
+ - マイグレーションの乖離(スキーマ変更によるコードとの不整合)
147
+
148
+ ### データアクセスにモックが適切な場合
149
+
150
+ - データ層からデータを受け取るビジネスロジックのテスト(repositoryをモック、serviceをテスト)
151
+ - エラーハンドリングパスのテスト(接続失敗、タイムアウトのシミュレーション)
152
+ - データアクセスがテスト対象ではなく依存先であるユニットテスト
153
+
154
+ ### データアクセスにモックが不十分な場合
155
+
156
+ - repositoryやデータアクセス実装自体のテスト
157
+ - クエリの正確性の検証(JOIN、フィルタ、集約、グルーピング)
158
+ - データ整合性制約のテスト
159
+ - マイグレーション互換性のテスト
160
+
161
+ ### 実データベーステスト(環境依存)
162
+
163
+ 実データベースエンジンに対するデータ層の正確性を検証するオプション:
164
+ - CI環境向けの**コンテナ化されたデータベース**
165
+ - 高速フィードバック用の**インメモリデータベース**(注: dialect差異が問題を隠す場合がある)
166
+ - seed data付きの**専用テストデータベース**
167
+
168
+ 適切なアプローチはプロジェクト環境とCI/CD構成に依存する。
169
+
170
+ ### AI生成コードとスキーマ認識
171
+
172
+ - AI生成のデータアクセスコードはスキーマのhallucinationリスクが高い
173
+ - 生成されたクエリは正しい構文でも、存在しないスキーマ要素を参照する場合がある
174
+ - モックベースのテストはスキーマの正確性に関わらずパスする
175
+ - 緩和策: Design Docに明示的なスキーマ参照を含めること。逆方向カバレッジ検証でドキュメント化されたスキーマに対するデータ操作を検証する
176
+
138
177
  ## Vitestの基本例
139
178
 
140
179
  ```typescript
package/CHANGELOG.md CHANGED
@@ -5,6 +5,56 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.20.0] - 2026-04-01
9
+
10
+ ### Added
11
+
12
+ #### Evidence-Based Design Pipeline
13
+
14
+ Design Docs are now based on explicit codebase evidence before implementation starts, with structured verification before review.
15
+
16
+ - **codebase-analyzer agent** (new): Analyzes existing codebase before Design Doc creation, producing structured JSON guidance (existing elements, data models, constraints, focus areas) for technical-designer
17
+ - **code-verifier in design flow**: Inserted before document-reviewer so review uses structured verification evidence instead of relying solely on the designer's investigation
18
+ - **Design Doc template: Test Boundaries section**: Mock boundary decisions, data layer testing strategy, and integration verification points — gives downstream test generation explicit mock/real scope
19
+ - **Design flow updated** (all orchestration paths): requirement-analyzer → codebase-analyzer → technical-designer → code-verifier → document-reviewer → design-sync. ADR-only flows skip codebase-analyzer and code-verifier. Step counts updated (Large: 11→13 backend, Medium: 7→9 backend)
20
+ - **Cross-layer orchestration**: codebase-analyzer ×2 and code-verifier ×2 steps added for per-layer analysis in fullstack flows
21
+
22
+ #### Investigation Targets for Task Execution
23
+
24
+ Task executors now read and record observations from specified files before implementing, reducing implementations that contradict actual system behavior.
25
+
26
+ - **task-decomposer**: Generates Investigation Targets per task based on task nature (existing code modification, new feature, test implementation, E2E setup, bug fix)
27
+ - **task-executor / task-executor-frontend**: Phase Entry Gate (4 checkboxes, BLOCKING) and Completion Gate (4 checkboxes, BLOCKING) enforce investigation before implementation. New `investigation_target_not_found` escalation type
28
+ - **Task template**: Investigation Targets section added with observation recording step in Red phase
29
+
30
+ #### E2E Environment Prerequisites
31
+
32
+ - **work-planner**: Extracts environment prerequisites from E2E skeletons (2-stage: detect precondition patterns → generate Phase 0 setup tasks for seed data, auth fixtures, service mocks, environment config)
33
+ - **quality-fixer / quality-fixer-frontend**: New `missing_prerequisites` blocked type distinguishes environment failures from specification conflicts, with structured `missingPrerequisites[]` response including concrete resolution steps
34
+ - **E2E environment prerequisites reference** (new): Seed data strategy, authentication fixture patterns, environment checklist
35
+
36
+ ### Changed
37
+
38
+ - **quality-fixer success contract**: Unified on `status: "approved"` as the primary success indicator. Removed legacy `approved: true` field from JSON examples
39
+ - **quality-fixer blocked contract**: Split into two response formats — `specification conflict` and `missing prerequisites` — discriminated by `reason` field
40
+ - **Annotation syntax**: Made language-agnostic across work-planner, integration-test-reviewer, integration-e2e-testing skill (removed hardcoded `//` prefix from annotation pattern definitions while keeping TypeScript code examples unchanged)
41
+ - **@real-dependency annotation**: Added to skeleton spec (integration-e2e-testing) and work-planner annotation patterns, completing the producer→consumer chain from acceptance-test-generator
42
+ - **document-reviewer**: Added `code_verification` input parameter, data design completeness check (co-occurrence rule for data keywords), and code-verifier integration rules
43
+ - **technical-designer / technical-designer-frontend**: Added Codebase Analysis input parameter for consuming codebase-analyzer output
44
+ - **code-verifier**: Added data layer element enumeration in reverse coverage (dataOperationsInCode, testBoundariesSectionPresent)
45
+ - **orchestration guide**: Updated escalation_type list to include `similar_component_found` (frontend executor alignment). Added Call Examples for codebase-analyzer and code-verifier. Information bridging sections for codebase-analyzer→technical-designer and code-verifier→document-reviewer
46
+ - **typescript-testing skill**: Added Data Layer Testing section (mock limitations, when mocks are appropriate/insufficient, real database testing options, AI schema hallucination awareness)
47
+ - **skills-index.yaml**: Added `Data Layer Testing` section to typescript-testing, added e2e-environment-prerequisites reference to integration-e2e-testing
48
+ - **commands**: design, front-design, implement, reverse-engineer, update-doc updated to include codebase-analyzer and code-verifier in their flows
49
+
50
+ ## [1.19.1] - 2026-03-30
51
+
52
+ ### Changed
53
+
54
+ - Migrate circular dependency checker from madge to dpdm. madge has stale indirect dependencies with known security vulnerabilities (brace-expansion ReDoS) that are not being addressed upstream. dpdm is actively maintained and uses TypeScript compiler API directly with a shallower dependency tree.
55
+ - Remove `.madgerc` config file (settings migrated to dpdm CLI options)
56
+ - Remove unused `check:deps:graph` script
57
+
8
58
  ## [1.19.0] - 2026-03-30
9
59
 
10
60
  ### Changed
package/README.ja.md CHANGED
@@ -3,7 +3,7 @@
3
3
  *他の言語で読む: [English](README.md)*
4
4
 
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/)
6
- [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green?logo=node.js)](https://nodejs.org/)
6
+ [![Node.js](https://img.shields.io/badge/Node.js-22%2B-green?logo=node.js)](https://nodejs.org/)
7
7
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Optimized-purple)](https://claude.ai/code)
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
9
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/shinpr/ai-coding-project-boilerplate/pulls)
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  *Read this in other languages: [日本語](README.ja.md)*
4
4
 
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-blue?logo=typescript)](https://www.typescriptlang.org/)
6
- [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green?logo=node.js)](https://nodejs.org/)
6
+ [![Node.js](https://img.shields.io/badge/Node.js-22%2B-green?logo=node.js)](https://nodejs.org/)
7
7
  [![Claude Code](https://img.shields.io/badge/Claude%20Code-Optimized-purple)](https://claude.ai/code)
8
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
9
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/shinpr/ai-coding-project-boilerplate/pulls)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-ai-project",
3
- "version": "1.19.0",
3
+ "version": "1.20.0",
4
4
  "packageManager": "npm@10.8.2",
5
5
  "description": "TypeScript boilerplate with skills and sub-agents for Claude Code. Prevents context exhaustion through role-based task splitting.",
6
6
  "keywords": [
@@ -50,8 +50,7 @@
50
50
  "check": "biome check src",
51
51
  "check:fix": "biome check --write src",
52
52
  "check:unused": "knip --include exports",
53
- "check:deps": "madge --circular --extensions ts src",
54
- "check:deps:graph": "madge --extensions ts --image graph.svg src",
53
+ "check:deps": "dpdm --no-warning --no-tree --exit-code circular:1 --ext .ts --exclude \"__tests__|.test.ts$|.spec.ts$\" --tsconfig ./tsconfig.json -T \"src/**/*.ts\"",
55
54
  "check:code": "npm run check && npm run check:unused && npm run check:deps && npm run build",
56
55
  "check:all": "npm run check:code && npm run test",
57
56
  "cleanup:processes": "bash ./scripts/cleanup-test-processes.sh",
@@ -71,7 +70,7 @@
71
70
  "husky": "^9.1.7",
72
71
  "knip": "^5.0.0",
73
72
  "lint-staged": "^16.1.0",
74
- "madge": "^8.0.0",
73
+ "dpdm": "^4.0.0",
75
74
  "tsc-alias": "^1.8.7",
76
75
  "tsx": "^4.19.4",
77
76
  "typescript": "^5.0.0",
package/.madgerc DELETED
@@ -1,14 +0,0 @@
1
- {
2
- "fileExtensions": ["ts"],
3
- "excludeRegExp": [
4
- "__tests__",
5
- "\\.test\\.ts$",
6
- "\\.spec\\.ts$"
7
- ],
8
- "detectiveOptions": {
9
- "ts": {
10
- "skipTypeImports": true
11
- }
12
- },
13
- "tsConfig": "./tsconfig.json"
14
- }