@sk8metal/michi-cli 0.8.7 → 0.11.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 (116) hide show
  1. package/CHANGELOG.md +70 -1
  2. package/README.md +77 -847
  3. package/dist/scripts/config/config-schema.d.ts +3 -0
  4. package/dist/scripts/config/config-schema.d.ts.map +1 -1
  5. package/dist/scripts/config/config-schema.js +18 -0
  6. package/dist/scripts/config/config-schema.js.map +1 -1
  7. package/dist/scripts/phase-runner.js +1 -1
  8. package/dist/scripts/phase-runner.js.map +1 -1
  9. package/dist/scripts/utils/multi-repo-validator.d.ts +38 -1
  10. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
  11. package/dist/scripts/utils/multi-repo-validator.js +166 -1
  12. package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
  13. package/dist/scripts/utils/tasks-format-validator.js +3 -3
  14. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  15. package/docs/README.md +20 -83
  16. package/docs/getting-started/configuration.md +379 -0
  17. package/docs/getting-started/installation.md +59 -0
  18. package/docs/getting-started/quick-start.md +76 -0
  19. package/docs/guides/ai-tools.md +311 -0
  20. package/docs/guides/atlassian-integration.md +116 -0
  21. package/docs/guides/claude-code.md +155 -0
  22. package/docs/guides/multi-repo.md +117 -0
  23. package/docs/guides/workflow.md +382 -0
  24. package/docs/reference/ai-commands.md +92 -0
  25. package/docs/reference/cli.md +756 -0
  26. package/docs/reference/environment-variables.md +192 -0
  27. package/docs/troubleshooting.md +543 -0
  28. package/package.json +1 -1
  29. package/scripts/__tests__/multi-repo-config-schema.test.ts +106 -0
  30. package/scripts/__tests__/multi-repo-validator.test.ts +229 -1
  31. package/scripts/config/config-schema.ts +20 -0
  32. package/scripts/phase-runner.ts +1 -1
  33. package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
  34. package/scripts/utils/multi-repo-validator.ts +210 -1
  35. package/scripts/utils/tasks-format-validator.ts +3 -3
  36. package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
  37. package/templates/claude/agents/mermaid-validator/AGENT.md +257 -0
  38. package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
  39. package/templates/claude/commands/michi/e2e-plan.md +1 -1
  40. package/templates/claude/commands/michi/spec-design.md +2 -2
  41. package/templates/claude/commands/michi/spec-tasks.md +156 -0
  42. package/templates/claude/commands/michi/test-planning.md +1 -1
  43. package/templates/claude/commands/michi/validate-design.md +3 -3
  44. package/templates/claude/commands/michi-multi-repo/impl-all.md +293 -0
  45. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +284 -0
  46. package/templates/claude/commands/michi-multi-repo/spec-design.md +66 -3
  47. package/templates/claude/commands/michi-multi-repo/spec-review.md +261 -0
  48. package/templates/claude/skills/mermaid-validator/SKILL.md +261 -0
  49. package/templates/claude-agent/agents/cross-repo-reviewer.md +194 -0
  50. package/templates/claude-agent/agents/repo-spec-executor.md +113 -0
  51. package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
  52. package/templates/claude-agent/rules/code-size-monitor.md +26 -0
  53. package/templates/claude-agent/rules/code-size-rules.md +32 -0
  54. package/templates/codex/AGENTS.override.md +1 -1
  55. package/templates/codex/rules/README.md +2 -2
  56. package/templates/cursor/commands/michi/spec-tasks.md +117 -0
  57. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
  58. package/docs/context.md +0 -59
  59. package/docs/michi-development/contributing/development.md +0 -341
  60. package/docs/michi-development/contributing/release.md +0 -365
  61. package/docs/michi-development/design/config-unification.md +0 -733
  62. package/docs/michi-development/design/design-config-current-state.md +0 -330
  63. package/docs/michi-development/design/design-config-implementation.md +0 -628
  64. package/docs/michi-development/design/design-config-migration.md +0 -952
  65. package/docs/michi-development/design/design-config-security.md +0 -771
  66. package/docs/michi-development/design/design-config-solution.md +0 -583
  67. package/docs/michi-development/design/design-config-testing.md +0 -892
  68. package/docs/michi-development/testing/manual-verification-flow.md +0 -871
  69. package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
  70. package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
  71. package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
  72. package/docs/michi-development/testing-strategy.md +0 -87
  73. package/docs/plan.md +0 -275
  74. package/docs/user-guide/getting-started/github-token-setup.md +0 -510
  75. package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
  76. package/docs/user-guide/getting-started/quick-start.md +0 -212
  77. package/docs/user-guide/getting-started/setup.md +0 -819
  78. package/docs/user-guide/guides/agent-skills-integration.md +0 -222
  79. package/docs/user-guide/guides/customization.md +0 -537
  80. package/docs/user-guide/guides/internationalization.md +0 -540
  81. package/docs/user-guide/guides/migration-guide.md +0 -138
  82. package/docs/user-guide/guides/multi-project.md +0 -368
  83. package/docs/user-guide/guides/multi-repo-guide.md +0 -1147
  84. package/docs/user-guide/guides/phase-automation.md +0 -419
  85. package/docs/user-guide/guides/workflow.md +0 -584
  86. package/docs/user-guide/hands-on/README.md +0 -142
  87. package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
  88. package/docs/user-guide/hands-on/claude-setup.md +0 -452
  89. package/docs/user-guide/hands-on/cursor-setup.md +0 -353
  90. package/docs/user-guide/hands-on/troubleshooting.md +0 -964
  91. package/docs/user-guide/hands-on/verification-checklist.md +0 -439
  92. package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -909
  93. package/docs/user-guide/reference/config.md +0 -589
  94. package/docs/user-guide/reference/multi-repo-api.md +0 -771
  95. package/docs/user-guide/reference/quick-reference.md +0 -297
  96. package/docs/user-guide/reference/security-test-payloads.md +0 -50
  97. package/docs/user-guide/reference/tasks-template.md +0 -550
  98. package/docs/user-guide/release/ci-setup-java.md +0 -114
  99. package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
  100. package/docs/user-guide/release/ci-setup-php.md +0 -102
  101. package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
  102. package/docs/user-guide/release/ci-setup.md +0 -188
  103. package/docs/user-guide/release/release-flow.md +0 -476
  104. package/docs/user-guide/templates/test-specs/README.md +0 -173
  105. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
  106. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
  107. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
  108. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
  109. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
  110. package/docs/user-guide/testing/integration-tests.md +0 -312
  111. package/docs/user-guide/testing/tdd-cycle.md +0 -349
  112. package/docs/user-guide/testing/test-execution-flow.md +0 -396
  113. package/docs/user-guide/testing/test-failure-handling.md +0 -521
  114. package/docs/user-guide/testing/test-planning-flow.md +0 -185
  115. package/docs/user-guide/testing-strategy.md +0 -185
  116. package/docs/verification-guide.md +0 -518
@@ -0,0 +1,293 @@
1
+ ---
2
+ description: Multi-Repoプロジェクトの全リポジトリで実装を並行実行
3
+ allowed-tools: Task, Bash, Read, Write, Glob, Grep
4
+ argument-hint: <project-name> [--tasks <task-numbers>]
5
+ ---
6
+
7
+ # Multi-Repo Implementation (All Repositories)
8
+
9
+ <background_information>
10
+ - **Mission**: Multi-Repoプロジェクトの全リポジトリで実装を並行実行
11
+ - **Success Criteria**:
12
+ - 全リポジトリでTDD実装サイクルが完了
13
+ - テストカバレッジ95%以上
14
+ - 品質自動化(Lint/Type-check)パス
15
+ - PR作成可能な状態
16
+ </background_information>
17
+
18
+ <instructions>
19
+ ## Core Task
20
+ Multi-Repoプロジェクト **$1** の全リポジトリで `/michi:spec-impl` を並行実行します。
21
+
22
+ ## 引数解析
23
+
24
+ 引数の形式:
25
+ ```
26
+ /michi-multi-repo:impl-all <project-name> [--tasks <task-numbers>]
27
+ ```
28
+
29
+ パラメータ:
30
+ - **$1**: プロジェクト名(必須)
31
+ - **--tasks**: 実行するタスク番号(オプション)
32
+ - 例: `--tasks 1,2,3` → タスク1-3のみ実行
33
+ - 省略時: 全タスクを実行
34
+
35
+ ## Execution Steps
36
+
37
+ ### Step 1: 前提条件確認
38
+
39
+ 1. `docs/michi/$1/reviews/` に最新のレビューレポートが存在するか確認
40
+
41
+ 2. 最新レビューの品質ゲート判定を確認
42
+ ```bash
43
+ grep "品質ゲート判定" docs/michi/$1/reviews/cross-repo-review-*.md | tail -1
44
+ ```
45
+
46
+ 3. **判定が「不合格」の場合**:
47
+ ```
48
+ ❌ エラー: 品質ゲート不合格
49
+
50
+ BLOCK問題が未解決です。実装を開始できません。
51
+
52
+ 次のアクション:
53
+ 1. BLOCK問題を修正
54
+ 2. `/michi-multi-repo:spec-review $1` を再実行
55
+ 3. 合格後に再度このコマンドを実行
56
+ ```
57
+
58
+ 4. **判定が「条件付き合格」の場合**:
59
+ ```
60
+ ⚠️ 警告: 品質ゲート条件付き合格
61
+
62
+ WARN問題が検出されています。このまま実装を開始しますか? (y/n)
63
+
64
+ 推奨: WARN問題を修正してから実装開始
65
+ ```
66
+
67
+ ### Step 2: コンテキスト読み込み
68
+
69
+ 1. `.michi/config.json` からプロジェクト情報取得
70
+
71
+ 2. 登録リポジトリの一覧を取得
72
+
73
+ 3. 各リポジトリの `localPath` を取得
74
+
75
+ 4. 各リポジトリのタスクファイル確認
76
+ - `{localPath}/.kiro/specs/{feature}/tasks.md`
77
+
78
+ ### Step 2.5: localPath 検証
79
+
80
+ 各リポジトリについて以下を確認:
81
+
82
+ - ✅ localPathが設定されているか
83
+ - ✅ ディレクトリが存在するか
84
+ - ✅ Gitリポジトリか (`.git/`ディレクトリ確認)
85
+ - ✅ Michiがセットアップ済みか (`.kiro/project.json`確認)
86
+ - ⚠️ 設定されたブランチと現在のブランチが一致するか
87
+ - ⚠️ 未コミット変更がないか
88
+
89
+ **検証失敗時の対応**:
90
+ - localPath未設定: 警告を出力し、該当リポジトリをスキップ
91
+ - ディレクトリ不存在: エラーを出力し、該当リポジトリをスキップ
92
+ - Michi未セットアップ: 警告を出力し、該当リポジトリをスキップ
93
+ - ブランチ不一致: 警告を出力(続行可能)
94
+ - 未コミット変更: 警告を出力(続行可能)
95
+
96
+ ### Step 3: チェックポイント確認
97
+
98
+ `docs/michi/$1/.checkpoint-impl.json` の存在を確認
99
+
100
+ 存在する場合:
101
+ ```
102
+ ⚠️ チェックポイントファイルが見つかりました
103
+
104
+ 前回の実装が中断された可能性があります。
105
+
106
+ 次のアクション:
107
+ A) チェックポイントから再開(未完了リポジトリのみ処理)
108
+ B) 最初から実行(チェックポイント削除)
109
+ C) キャンセル
110
+
111
+ 選択 (A/B/C): _
112
+ ```
113
+
114
+ ### Step 4: サブエージェント並行起動
115
+
116
+ **並行実行数**: 最大3並列
117
+
118
+ repo-spec-executorサブエージェントを使用して、以下のリポジトリで実装を並行実行してください:
119
+
120
+ **Repository 1**: {repo1.name}
121
+ - LOCAL_PATH: {repo1.localPath}
122
+ - PARENT_PROJECT: $1
123
+ - FEATURE_NAME: {feature}
124
+ - OPERATION: impl
125
+ - TASKS: {指定されたtask-numbers または "all"}
126
+
127
+ **Repository 2**: {repo2.name}
128
+ - LOCAL_PATH: {repo2.localPath}
129
+ - PARENT_PROJECT: $1
130
+ - FEATURE_NAME: {feature}
131
+ - OPERATION: impl
132
+ - TASKS: {指定されたtask-numbers または "all"}
133
+
134
+ (以下、登録されている全リポジトリ)
135
+
136
+ **重要**: 各サブエージェントの完了を待ち、結果を集約してください。
137
+
138
+ ### Step 5: 結果集約とレポート
139
+
140
+ 各リポジトリの実行結果を集約:
141
+
142
+ | リポジトリ | タスク進捗 | カバレッジ | Lint | Build | ステータス |
143
+ |-----------|----------|-----------|------|-------|----------|
144
+ | frontend | 5/5 | 96% | ✅ | ✅ | ✅ 完了 |
145
+ | backend | 8/8 | 98% | ✅ | ✅ | ✅ 完了 |
146
+ | shared | 3/3 | 95% | ✅ | ✅ | ✅ 完了 |
147
+
148
+ **成功件数**: 3/3
149
+ **全体カバレッジ**: 96.3%
150
+
151
+ ### Step 6: チェックポイント保存(失敗時)
152
+
153
+ 失敗したリポジトリがある場合、チェックポイントを保存:
154
+
155
+ ```json
156
+ {
157
+ "projectName": "$1",
158
+ "operation": "impl",
159
+ "repositories": {
160
+ "frontend": {
161
+ "status": "completed",
162
+ "tasksCompleted": 5,
163
+ "tasksTotal": 5,
164
+ "coverage": 96,
165
+ "completedAt": "2025-12-23T11:00:00Z"
166
+ },
167
+ "backend": {
168
+ "status": "failed",
169
+ "tasksCompleted": 3,
170
+ "tasksTotal": 8,
171
+ "error": "Test failed: auth.test.ts",
172
+ "failedAt": "2025-12-23T11:10:00Z"
173
+ }
174
+ },
175
+ "savedAt": "2025-12-23T11:11:00Z"
176
+ }
177
+ ```
178
+
179
+ 保存先: `docs/michi/$1/.checkpoint-impl.json`
180
+
181
+ ### Step 7: 次のアクション案内
182
+
183
+ **全成功時**:
184
+ ```markdown
185
+ 🎉 全リポジトリで実装が完了しました
186
+
187
+ ### 実装サマリー
188
+
189
+ | 指標 | 結果 |
190
+ |------|------|
191
+ | 完了リポジトリ | 3/3 |
192
+ | 全体カバレッジ | 96.3% |
193
+ | Lint/Build | ✅ All Pass |
194
+
195
+ ### 次のステップ
196
+
197
+ 1. 各リポジトリでPR作成:
198
+ 各リポジトリで `/pr` コマンドを実行
199
+
200
+ 2. CI結果を監視:
201
+ `michi multi-repo:ci-status $1`
202
+
203
+ 3. PRマージ後、リリース準備:
204
+ - Confluenceリリース手順書作成
205
+ - JIRAリリースチケット起票
206
+ ```
207
+
208
+ **一部失敗時**:
209
+ ```markdown
210
+ ⚠️ 一部のリポジトリで失敗しました
211
+
212
+ ### 失敗したリポジトリ
213
+ - backend: Test failed: auth.test.ts (タスク3/8完了)
214
+
215
+ ### 対処方法
216
+
217
+ 1. 失敗箇所を確認:
218
+ ```bash
219
+ cd {backend.localPath}
220
+ npm test auth.test.ts
221
+ ```
222
+
223
+ 2. 修正後、チェックポイントから再開:
224
+ `/michi-multi-repo:impl-all $1`
225
+ (失敗したリポジトリのみ処理されます)
226
+ ```
227
+
228
+ ## Important Constraints
229
+ - spec-review合格が前提(BLOCK問題がないこと)
230
+ - 並行実行は最大3リポジトリ
231
+ - TDDサイクル(RED-GREEN-REFACTOR)を遵守
232
+ - テストカバレッジ95%以上を維持
233
+ - 各リポジトリは独立して処理(依存関係なし)
234
+
235
+ </instructions>
236
+
237
+ ## Tool Guidance
238
+ - **Task**: repo-spec-executorサブエージェント起動に使用
239
+ - **Read**: config.json、レビューレポート、タスクファイル読み込み
240
+ - **Write**: チェックポイント保存
241
+ - **Bash**: Git操作、カバレッジ確認
242
+
243
+ ## Output Description
244
+
245
+ 日本語で以下の情報を出力してください:
246
+
247
+ 1. **処理対象リポジトリ一覧**: 各リポジトリのタスク進捗
248
+ 2. **実行結果サマリー**: 成功/失敗件数、全体カバレッジ
249
+ 3. **各リポジトリの詳細結果**: カバレッジ、Lint/Build結果、エラー内容
250
+ 4. **次のアクション**: 成功時/失敗時の推奨ステップ
251
+
252
+ ## Safety & Fallback
253
+
254
+ ### Error Scenarios
255
+
256
+ - **品質ゲート不合格**:
257
+ ```
258
+ エラー: 品質ゲート不合格のため、実装を開始できません。
259
+
260
+ `/michi-multi-repo:spec-review $1` を実行し、BLOCK問題を解決してください。
261
+ ```
262
+
263
+ - **タスクファイル不存在**:
264
+ ```
265
+ エラー: リポジトリ '{name}' にタスクファイルがありません: .kiro/specs/{feature}/tasks.md
266
+
267
+ タスクを生成してください:
268
+ cd {localPath}
269
+ /michi:spec-tasks {feature}
270
+ ```
271
+
272
+ - **localPath未設定**:
273
+ ```
274
+ 警告: リポジトリ '{name}' の localPath が未設定です。スキップします。
275
+ ```
276
+
277
+ - **Michi未セットアップ**:
278
+ ```
279
+ ⚠️ リポジトリ '{name}' にMichiがセットアップされていません。スキップします。
280
+
281
+ セットアップコマンド:
282
+ cd {localPath} && npx @sk8metal/michi-cli@latest init
283
+
284
+ セットアップ完了後、このコマンドを再実行してください。
285
+ ```
286
+
287
+ ### Fallback Strategy
288
+ - localPath未設定: 該当リポジトリをスキップし、他のリポジトリで処理続行
289
+ - Michi未セットアップ: 該当リポジトリをスキップし、他のリポジトリで処理続行
290
+ - サブエージェント失敗: チェックポイント保存し、リトライ可能にする
291
+ - テスト失敗: 自動修正を試行(最大3回)、失敗時はチェックポイント保存
292
+
293
+ think hard
@@ -0,0 +1,284 @@
1
+ ---
2
+ description: Multi-Repoプロジェクトから各リポジトリへ仕様を展開(並行実行)
3
+ allowed-tools: Task, Bash, Read, Write, Glob, Grep, AskUserQuestion
4
+ argument-hint: <project-name> [--operation init|requirements|design|all]
5
+ ---
6
+
7
+ # Multi-Repo Spec Propagation
8
+
9
+ <background_information>
10
+ - **Mission**: Multi-Repoプロジェクトの仕様を各リポジトリに展開
11
+ - **Success Criteria**:
12
+ - 全リポジトリで指定されたOPERATIONが完了
13
+ - 各リポジトリの仕様が親プロジェクトと整合性を保つ
14
+ - エラーハンドリングとチェックポイント保存
15
+ </background_information>
16
+
17
+ <instructions>
18
+ ## Core Task
19
+ Multi-Repoプロジェクト **$1** の全リポジトリに対して、仕様コマンドを並行実行します。
20
+
21
+ ## 引数解析
22
+
23
+ 引数の形式:
24
+ ```
25
+ /michi-multi-repo:propagate-specs <project-name> [--operation <operation>]
26
+ ```
27
+
28
+ パラメータ:
29
+ - **$1**: プロジェクト名(必須)
30
+ - **--operation**: 実行する操作(オプション、デフォルト: all)
31
+ - `init`: /michi:spec-init
32
+ - `requirements`: /kiro:spec-requirements
33
+ - `design`: /michi:spec-design
34
+ - `all`: /michi:spec-init → /kiro:spec-requirements → /michi:spec-design を順次実行
35
+
36
+ ## Execution Steps
37
+
38
+ ### Step 1: コンテキスト読み込み
39
+
40
+ 1. `.michi/config.json` からプロジェクト情報取得
41
+ ```bash
42
+ cat .michi/config.json | grep -A 20 '"name": "$1"'
43
+ ```
44
+
45
+ 2. 登録リポジトリの一覧を取得
46
+
47
+ 3. 各リポジトリの `localPath` を取得
48
+
49
+ 4. 親プロジェクトの仕様ファイルを確認
50
+ - `docs/michi/$1/overview/requirements.md` (OPERATION=design以降で必要)
51
+ - `docs/michi/$1/overview/architecture.md` (OPERATION=design以降で必要)
52
+
53
+ ### Step 2: localPath 検証
54
+
55
+ 各リポジトリについて以下を確認:
56
+
57
+ - ✅ localPathが設定されているか
58
+ - ✅ ディレクトリが存在するか
59
+ - ✅ Gitリポジトリか (`.git/`ディレクトリ確認)
60
+ - ✅ Michiがセットアップ済みか (`.kiro/project.json`確認)
61
+ - ⚠️ 設定されたブランチと現在のブランチが一致するか
62
+ - ⚠️ 未コミット変更がないか
63
+
64
+ **検証失敗時の対応**:
65
+ - localPath未設定: 警告を出力し、該当リポジトリをスキップ
66
+ - ディレクトリ不存在: エラーを出力し、該当リポジトリをスキップ
67
+ - Michi未セットアップ: 警告を出力し、該当リポジトリをスキップ
68
+ - ブランチ不一致: 警告を出力(続行可能)
69
+ - 未コミット変更: 警告を出力(続行可能)
70
+
71
+ ### Step 3: チェックポイント確認
72
+
73
+ `docs/michi/$1/.checkpoint.json` の存在を確認
74
+
75
+ 存在する場合:
76
+ ```text
77
+ ⚠️ チェックポイントファイルが見つかりました: docs/michi/$1/.checkpoint.json
78
+
79
+ 前回の実行が中断された可能性があります。
80
+
81
+ 次のアクション:
82
+ A) チェックポイントから再開(未完了リポジトリのみ処理)
83
+ B) 最初から実行(チェックポイント削除)
84
+ C) キャンセル
85
+
86
+ 選択 (A/B/C): _
87
+ ```
88
+
89
+ ### Step 3.5: 実行確認
90
+
91
+ 以下のリポジトリで仕様生成を自動実行します:
92
+
93
+ | リポジトリ | localPath | 実行コマンド |
94
+ |-----------|----------|-------------|
95
+ {各リポジトリの情報を表示}
96
+
97
+ **AskUserQuestionツールで確認:**
98
+ ```
99
+ この内容で仕様生成を自動実行しますか?
100
+
101
+ 実行されるコマンド:
102
+ - /michi:spec-init "{project description}"
103
+ - /kiro:spec-requirements {feature}
104
+ - /michi:spec-design {feature}
105
+ ```
106
+
107
+ 選択肢:
108
+ - はい、実行する(推奨)
109
+ - いいえ、キャンセル
110
+
111
+ ### Step 4: 並行実行
112
+
113
+ **並行実行数**: 最大3並列
114
+
115
+ **重要**: general-purposeエージェントを使用して、以下のリポジトリで仕様コマンドを並行実行してください:
116
+
117
+ 各リポジトリに対してTaskツール(subagent_type: general-purpose)を起動:
118
+
119
+ **Repository**: {repo.name}
120
+ - 作業ディレクトリ: {repo.localPath}
121
+ - 親プロジェクト参照:
122
+ - requirements.md: {親プロジェクトパス}/docs/michi/$1/overview/requirements.md
123
+ - architecture.md: {親プロジェクトパス}/docs/michi/$1/overview/architecture.md
124
+
125
+ 実行コマンド(順次):
126
+ 1. `/michi:spec-init "{project description}"`
127
+ 2. `/kiro:spec-requirements {feature}`
128
+ 3. `/michi:spec-design {feature}`
129
+
130
+ 親プロジェクトの設計との整合性を維持し、このリポジトリの責務範囲のみを設計してください。
131
+
132
+ **重要**: 全リポジトリのエージェント完了を待ち、結果を集約してください。
133
+
134
+ ### Step 5: 結果集約とレポート
135
+
136
+ 各リポジトリの実行結果を集約:
137
+
138
+ | リポジトリ | OPERATION | ステータス | 詳細 |
139
+ |-----------|----------|----------|------|
140
+ | frontend | design | ✅ 成功 | design.md生成完了 |
141
+ | backend | design | ✅ 成功 | design.md生成完了 |
142
+ | shared | design | ❌ 失敗 | localPath未設定 |
143
+
144
+ **成功件数**: 2/3
145
+ **失敗件数**: 1/3
146
+
147
+ ### Step 6: チェックポイント保存(失敗時)
148
+
149
+ 失敗したリポジトリがある場合、チェックポイントを保存:
150
+
151
+ ```json
152
+ {
153
+ "projectName": "$1",
154
+ "operation": "{operation}",
155
+ "repositories": {
156
+ "frontend": {
157
+ "status": "completed",
158
+ "completedAt": "2025-12-23T10:30:00Z"
159
+ },
160
+ "backend": {
161
+ "status": "completed",
162
+ "completedAt": "2025-12-23T10:31:00Z"
163
+ },
164
+ "shared": {
165
+ "status": "failed",
166
+ "error": "localPath未設定"
167
+ }
168
+ },
169
+ "savedAt": "2025-12-23T10:32:00Z"
170
+ }
171
+ ```
172
+
173
+ 保存先: `docs/michi/$1/.checkpoint.json`
174
+
175
+ ### Step 7: 次のアクション案内
176
+
177
+ **全成功時**:
178
+ ```markdown
179
+ 🎉 全リポジトリで仕様展開が完了しました
180
+
181
+ ### 次のステップ
182
+
183
+ 1. クロスリポジトリレビューを実行:
184
+ `/michi-multi-repo:spec-review $1`
185
+
186
+ 2. 合格後、各リポジトリでタスク生成:
187
+ 各リポジトリで `/michi:spec-tasks {feature}` を実行
188
+
189
+ 3. 実装を開始:
190
+ `/michi-multi-repo:impl-all $1`
191
+ ```
192
+
193
+ **一部失敗時**:
194
+ ```markdown
195
+ ⚠️ 一部のリポジトリで失敗しました
196
+
197
+ ### 失敗したリポジトリ
198
+ - shared: localPath未設定
199
+
200
+ ### 対処方法
201
+ 1. localPathを設定:
202
+ `michi multi-repo:add-repo $1 --name shared --localPath /path/to/repo`
203
+
204
+ 2. チェックポイントから再開:
205
+ `/michi-multi-repo:propagate-specs $1 --operation {operation}`
206
+ (失敗したリポジトリのみ処理されます)
207
+ ```
208
+
209
+ ## Important Constraints
210
+ - 並行実行は最大3リポジトリ
211
+ - 各リポジトリは独立して処理(依存関係なし)
212
+ - localPath未設定のリポジトリはスキップ
213
+ - エラー発生時もチェックポイントを保存し、再開可能にする
214
+
215
+ </instructions>
216
+
217
+ ## Tool Guidance
218
+ - **Task**: repo-spec-executorサブエージェント起動に使用
219
+ - **Read**: config.json、親プロジェクト仕様の読み込み
220
+ - **Write**: チェックポイント保存
221
+ - **Bash**: localPath検証、Git操作
222
+
223
+ ## Output Description
224
+
225
+ 日本語で以下の情報を出力してください:
226
+
227
+ 1. **処理対象リポジトリ一覧**: 各リポジトリのlocalPathと検証結果
228
+ 2. **実行結果サマリー**: 成功/失敗件数
229
+ 3. **各リポジトリの詳細結果**: 生成されたファイル、エラー内容
230
+ 4. **次のアクション**: 成功時/失敗時の推奨ステップ
231
+
232
+ ## Safety & Fallback
233
+
234
+ ### Error Scenarios
235
+
236
+ - **プロジェクト未登録**:
237
+ ```
238
+ エラー: プロジェクト '$1' が見つかりません。
239
+
240
+ 次のコマンドでプロジェクトを初期化してください:
241
+ michi multi-repo:init $1 --jira {JIRA_KEY} --confluence-space {SPACE}
242
+ ```
243
+
244
+ - **リポジトリ未登録**:
245
+ ```
246
+ 警告: プロジェクト '$1' にリポジトリが登録されていません。
247
+
248
+ 次のコマンドでリポジトリを登録してください:
249
+ michi multi-repo:add-repo $1 --name {name} --url {url} --localPath {path}
250
+ ```
251
+
252
+ - **localPath未設定**:
253
+ ```
254
+ 警告: リポジトリ '{name}' の localPath が未設定です。スキップします。
255
+
256
+ localPathを設定するには:
257
+ michi multi-repo:add-repo $1 --name {name} --localPath /path/to/repo
258
+ ```
259
+
260
+ - **Michi未セットアップ**:
261
+ ```
262
+ ⚠️ リポジトリ '{name}' にMichiがセットアップされていません。スキップします。
263
+
264
+ セットアップコマンド:
265
+ cd {localPath} && npx @sk8metal/michi-cli@latest init
266
+
267
+ セットアップ完了後、このコマンドを再実行してください。
268
+ ```
269
+
270
+ - **親プロジェクト仕様未作成(OPERATION=design以降)**:
271
+ ```
272
+ エラー: 親プロジェクトの設計書が見つかりません: docs/michi/$1/overview/architecture.md
273
+
274
+ 先に親プロジェクトの設計を作成してください:
275
+ /michi-multi-repo:spec-design $1
276
+ ```
277
+
278
+ ### Fallback Strategy
279
+ - localPath未設定: 該当リポジトリをスキップし、他のリポジトリで処理続行
280
+ - Michi未セットアップ: 該当リポジトリをスキップし、他のリポジトリで処理続行
281
+ - サブエージェント失敗: チェックポイント保存し、リトライ可能にする
282
+ - 全リポジトリ失敗: エラーレポート出力し、ユーザーに対処方法を案内
283
+
284
+ think hard
@@ -94,6 +94,49 @@ Multi-Repoプロジェクト **$1** の技術設計書を生成します。
94
94
  - 出力先: `docs/michi/$1/overview/architecture.md`
95
95
  - 既存ファイルがある場合は、上書き確認(`-y` フラグで自動承認)
96
96
 
97
+ ### Step 4.5: 品質検証(PROACTIVE)
98
+
99
+ **architecture.md生成後、以下の検証を自動実行**:
100
+
101
+ #### 4.5.1 Mermaid図の構文検証
102
+
103
+ `mermaid-validator` エージェントを使用してMermaid図を検証:
104
+
105
+ ```
106
+ IMPORTANT: architecture.mdにMermaid図が含まれる場合、mermaid-validatorエージェントを自動実行してください。
107
+ - 検出: Mermaid図を含むかどうかを確認
108
+ - 検証: 構文エラーを検出
109
+ - 修正: 自動修正可能なエラーを修正
110
+ - 報告: 修正内容をユーザーに通知
111
+ ```
112
+
113
+ **実行タイミング**: architecture.md保存直後
114
+
115
+ **エージェント呼び出し**:
116
+ ```
117
+ Task(subagent_type='mermaid-validator', prompt='docs/michi/$1/overview/architecture.md のMermaid図を検証し、構文エラーを自動修正してください')
118
+ ```
119
+
120
+ #### 4.5.2 技術スタックバージョン監査
121
+
122
+ `stable-version-auditor` エージェントを使用して技術スタックを監査:
123
+
124
+ ```
125
+ IMPORTANT: architecture.mdに技術スタック(Node.js、Java、Python、PHP等)が記載されている場合、
126
+ stable-version-auditorエージェントを自動実行してください。
127
+ - 検出: バージョン指定を抽出
128
+ - 監査: EOLリスクを評価
129
+ - 推奨: 最新LTS/安定版を提案
130
+ - 報告: アップグレード推奨をユーザーに通知
131
+ ```
132
+
133
+ **実行タイミング**: architecture.md保存直後
134
+
135
+ **エージェント呼び出し**:
136
+ ```
137
+ Task(subagent_type='stable-version-auditor', prompt='docs/michi/$1/overview/architecture.md に記載された技術スタックのバージョンを監査し、EOLリスクを評価してください')
138
+ ```
139
+
97
140
  ### Step 5: メタデータ更新(spec.json)
98
141
  - `docs/michi/$1/spec.json` を読み込み
99
142
  - phase を `"design-generated"` に更新
@@ -208,7 +251,10 @@ sequenceDiagram
208
251
 
209
252
  1. **生成された設計書のパス**: `docs/michi/{project}/overview/architecture.md`
210
253
  2. **分析したリポジトリの一覧**: サービス名と技術スタックの要約
211
- 3. **次のステップ**:
254
+ 3. **品質検証結果**:
255
+ - Mermaid図の検証結果
256
+ - 技術スタックバージョン監査結果
257
+ 4. **次のステップ**:
212
258
  - 設計書の確認
213
259
  - Confluence同期
214
260
  - 各リポジトリでの個別実装
@@ -230,10 +276,27 @@ sequenceDiagram
230
276
  - **データベース**: PostgreSQL(サービスごとにDB分離)
231
277
  - **デプロイ**: Kubernetes(Pod自動スケーリング)
232
278
 
279
+ ### 品質検証結果
280
+
281
+ #### Mermaid図検証
282
+ ✅ 検証完了 - 構文エラーなし
283
+ または
284
+ ⚠️ 2件の構文エラーを自動修正しました:
285
+ - L15: C4モデルのタイトル記法エラー → 修正済み
286
+ - L45: シーケンス図の矢印記法エラー → 修正済み
287
+
288
+ #### 技術スタックバージョン監査
289
+ ✅ すべて最新LTS/安定版を使用
290
+ または
291
+ ⚠️ バージョン更新を推奨:
292
+ - Node.js 16.x → 20.x (LTS) - EOL: 2023-09-11(EOL済み)
293
+ - Python 3.9 → 3.11 - EOL 6ヶ月以内
294
+
233
295
  ### 次のステップ
234
296
  1. 設計書を確認: `docs/michi/{project}/overview/architecture.md`
235
- 2. Confluenceに同期: `michi multi-repo:confluence-sync {project} --doc-type architecture`
236
- 3. 各リポジトリで実装を開始:
297
+ 2. 技術スタック更新(必要に応じて)
298
+ 3. Confluenceに同期: `michi multi-repo:confluence-sync {project} --doc-type architecture`
299
+ 4. 各リポジトリで実装を開始:
237
300
  - `/kiro:spec-init` で個別仕様を作成
238
301
  - または直接実装を開始
239
302
  ```