@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,261 @@
1
+ ---
2
+ description: Multi-Repoプロジェクトのクロスリポジトリ仕様レビューを実行
3
+ allowed-tools: Task, Bash, Read, Write, Edit, Glob, Grep
4
+ argument-hint: <project-name> [--focus api|data|event|deps|test|all]
5
+ ---
6
+
7
+ # Multi-Repo Cross-Repository Review
8
+
9
+ <background_information>
10
+ - **Mission**: 複数リポジトリにまたがる仕様の整合性を検証
11
+ - **Success Criteria**:
12
+ - 全リポジトリの仕様を収集・分析
13
+ - API契約、データモデル、イベントスキーマの整合性を検証
14
+ - 品質ゲート判定を実行
15
+ - 修正が必要な箇所を明確に報告
16
+ </background_information>
17
+
18
+ <instructions>
19
+ ## Core Task
20
+ Multi-Repoプロジェクト **$1** の全リポジトリを対象に、クロスリポジトリレビューを実行します。
21
+
22
+ ## 引数解析
23
+
24
+ 引数の形式:
25
+ ```
26
+ /michi-multi-repo:spec-review <project-name> [--focus <focus>]
27
+ ```
28
+
29
+ パラメータ:
30
+ - **$1**: プロジェクト名(必須)
31
+ - **--focus**: レビュー観点(オプション、デフォルト: all)
32
+ - `api`: API契約整合性のみ
33
+ - `data`: データモデル整合性のみ
34
+ - `event`: イベントスキーマ整合性のみ
35
+ - `deps`: 依存関係整合性のみ
36
+ - `test`: テスト仕様整合性のみ
37
+ - `all`: 全観点(デフォルト)
38
+
39
+ ## Execution Steps
40
+
41
+ ### Step 1: コンテキスト読み込み
42
+
43
+ 1. `.michi/config.json` からプロジェクト情報取得
44
+ - プロジェクト名
45
+ - 登録リポジトリ一覧
46
+
47
+ 2. 各リポジトリの `localPath` を取得
48
+
49
+ 3. 親プロジェクトの仕様を読み込み
50
+ - `docs/michi/$1/overview/requirements.md`
51
+ - `docs/michi/$1/overview/architecture.md`
52
+
53
+ ### Step 2: localPath 検証
54
+
55
+ 各リポジトリについて以下を確認:
56
+ - localPathが設定されているか
57
+ - ディレクトリが存在するか
58
+ - Gitリポジトリか (`.git/`ディレクトリ確認)
59
+ - Michiがセットアップ済みか (`.kiro/project.json`確認)
60
+ - 仕様ファイルが存在するか
61
+
62
+ **検証失敗時の対応**:
63
+ - localPath未設定: 警告を出力し、スキップ
64
+ - ディレクトリ不存在: エラーを出力し、スキップ
65
+ - Michi未セットアップ: 警告を出力し、スキップ
66
+ - 仕様ファイル不存在: 警告を出力し、利用可能情報でレビュー続行
67
+
68
+ ### Step 3: サブエージェント起動
69
+
70
+ cross-repo-reviewerサブエージェントを使用して、以下のプロジェクトをレビューしてください:
71
+
72
+ - PROJECT_NAME: $1
73
+ - REPOSITORIES:
74
+ - {repo1.name}: {repo1.localPath}
75
+ - {repo2.name}: {repo2.localPath}
76
+ - ...
77
+ - REVIEW_FOCUS: {指定されたfocus}
78
+
79
+ 品質ゲート判定結果をレポートしてください。
80
+
81
+ ### Step 4: レビューレポート出力
82
+
83
+ 出力先: `docs/michi/$1/reviews/cross-repo-review-{timestamp}.md`
84
+
85
+ レポート形式:
86
+
87
+ ```markdown
88
+ ## Multi-Repo Cross-Repository Review Report
89
+
90
+ **プロジェクト**: $1
91
+ **レビュー日時**: {timestamp}
92
+ **対象リポジトリ**: {count}件
93
+ **レビュー観点**: {focus}
94
+
95
+ ---
96
+
97
+ ### サマリー
98
+
99
+ | カテゴリ | ステータス | 問題件数 |
100
+ |---------|----------|---------|
101
+ | API契約整合性 | ✅/⚠️/❌ | N件 |
102
+ | データモデル整合性 | ✅/⚠️/❌ | N件 |
103
+ | イベントスキーマ整合性 | ✅/⚠️/❌ | N件 |
104
+ | 依存関係整合性 | ✅/⚠️/❌ | N件 |
105
+ | テスト仕様整合性 | ✅/⚠️/❌ | N件 |
106
+
107
+ ---
108
+
109
+ ### 検出された問題
110
+
111
+ #### 🔴 BLOCK (修正必須)
112
+
113
+ (cross-repo-reviewerが検出した重大な不整合)
114
+
115
+ #### 🟡 WARN (修正推奨)
116
+
117
+ (cross-repo-reviewerが検出した軽微な不整合)
118
+
119
+ ---
120
+
121
+ ### 品質ゲート判定
122
+
123
+ **判定**: ❌ 不合格 / ⚠️ 条件付き合格 / ✅ 合格
124
+
125
+ **理由**: {判定理由}
126
+
127
+ ---
128
+
129
+ ### 次のアクション
130
+
131
+ 1. BLOCK問題の修正
132
+ 2. `/michi-multi-repo:spec-review $1` を再実行
133
+ 3. 合格後、各リポジトリで実装を開始
134
+ ```
135
+
136
+ ### Step 5: 判定結果の表示
137
+
138
+ **合格時(✅ PASS)**:
139
+ ```markdown
140
+ 🎉 品質ゲート合格
141
+
142
+ 全リポジトリの仕様が整合性基準を満たしています。
143
+
144
+ ### 次のステップ
145
+
146
+ 1. 各リポジトリでタスク生成:
147
+ 各リポジトリで `/michi:spec-tasks {feature}` を実行
148
+
149
+ 2. 全リポジトリで実装を開始:
150
+ `/michi-multi-repo:impl-all $1`
151
+
152
+ 3. CI/CD設定:
153
+ `michi multi-repo:ci-status $1` でCI結果を監視
154
+ ```
155
+
156
+ **条件付き合格時(⚠️ WARN)**:
157
+ ```markdown
158
+ ⚠️ 品質ゲート条件付き合格
159
+
160
+ WARN問題が検出されましたが、修正は任意です。
161
+
162
+ ### 検出された問題
163
+ - {WARN問題のリスト}
164
+
165
+ ### 次のステップ(選択可能)
166
+
167
+ A) WARN問題を修正してから実装開始(推奨)
168
+ - 各リポジトリのdesign.mdを修正
169
+ - `/michi-multi-repo:spec-review $1` を再実行
170
+
171
+ B) そのまま実装開始
172
+ - `/michi-multi-repo:impl-all $1`
173
+ ```
174
+
175
+ **不合格時(❌ BLOCK)**:
176
+ ```markdown
177
+ ❌ 品質ゲート不合格
178
+
179
+ BLOCK問題が検出されました。修正が必須です。
180
+
181
+ ### BLOCK問題
182
+ - {BLOCK問題のリスト}
183
+
184
+ ### 対処方法
185
+
186
+ 1. 該当リポジトリのdesign.mdを修正
187
+ 2. `/michi-multi-repo:spec-review $1` を再実行
188
+ 3. 合格後に実装を開始
189
+
190
+ **注意**: BLOCK問題を未解決のまま実装を開始すると、サービス間通信が失敗する可能性があります。
191
+ ```
192
+
193
+ ## Important Constraints
194
+ - 読み取り操作のみ(各リポジトリへの書き込みは行わない)
195
+ - localPath未設定のリポジトリはスキップ(警告を出力)
196
+ - 大規模リポジトリの場合は主要ファイルのみ分析
197
+
198
+ </instructions>
199
+
200
+ ## Tool Guidance
201
+ - **Task**: cross-repo-reviewerサブエージェント起動に使用
202
+ - **Read**: プロジェクト仕様、各リポジトリ仕様の読み込み
203
+ - **Write**: レビューレポートの出力
204
+ - **Glob/Grep**: 仕様ファイルの検索
205
+
206
+ ## Output Description
207
+
208
+ 日本語で以下の情報を出力してください:
209
+
210
+ 1. **レビュー対象リポジトリ一覧**: 各リポジトリのlocalPathと仕様状態
211
+ 2. **検出された問題**: BLOCK/WARN分類と詳細
212
+ 3. **品質ゲート判定結果**: 合格/不合格と理由
213
+ 4. **次のアクション**: 修正が必要な場合の具体的な手順
214
+
215
+ ## Safety & Fallback
216
+
217
+ ### Error Scenarios
218
+
219
+ - **プロジェクト未登録**:
220
+ ```
221
+ エラー: プロジェクト '$1' が見つかりません。
222
+ ```
223
+
224
+ - **親プロジェクト仕様未作成**:
225
+ ```
226
+ エラー: 親プロジェクトの設計書が見つかりません: docs/michi/$1/overview/architecture.md
227
+
228
+ 先に親プロジェクトの設計を作成してください:
229
+ /michi-multi-repo:spec-design $1
230
+ ```
231
+
232
+ - **localPath未設定**:
233
+ ```
234
+ 警告: リポジトリ '{name}' の localPath が未設定です。スキップします。
235
+ ```
236
+
237
+ - **Michi未セットアップ**:
238
+ ```
239
+ ⚠️ リポジトリ '{name}' にMichiがセットアップされていません。スキップします。
240
+
241
+ セットアップコマンド:
242
+ cd {localPath} && npx @sk8metal/michi-cli@latest init
243
+
244
+ セットアップ完了後、このコマンドを再実行してください。
245
+ ```
246
+
247
+ - **仕様ファイル不存在**:
248
+ ```
249
+ 警告: リポジトリ '{name}' に仕様ファイルがありません。
250
+
251
+ 仕様を展開してください:
252
+ /michi-multi-repo:propagate-specs $1
253
+ ```
254
+
255
+ ### Fallback Strategy
256
+ - localPath未設定: 該当リポジトリをスキップし、他のリポジトリでレビュー続行
257
+ - Michi未セットアップ: 該当リポジトリをスキップし、他のリポジトリでレビュー続行
258
+ - 仕様ファイル不存在: 警告を出力し、利用可能な情報でレビュー
259
+ - 通信エラー: リトライ後、該当リポジトリをスキップ
260
+
261
+ think hard
@@ -0,0 +1,261 @@
1
+ ---
2
+ name: mermaid-validator
3
+ description: |
4
+ Mermaid図の構文検証と修正を行うスキル。
5
+ architecture.md生成時のパースエラーを防止。
6
+ allowed-tools: Bash, Read, Grep, Glob, WebFetch, Edit, Write
7
+ ---
8
+
9
+ # Mermaid Validator スキル
10
+
11
+ ## 目的
12
+
13
+ Mermaid図の構文エラーを検出し、自動修正を行うことで、ドキュメント生成時のパースエラーを防止する。
14
+
15
+ ## 対象ファイル
16
+
17
+ ### 自動検証対象
18
+
19
+ - `docs/**/architecture.md`
20
+ - `docs/**/design.md`
21
+ - `docs/**/sequence.md`
22
+ - `*.md` (Mermaid図を含むすべてのMarkdownファイル)
23
+
24
+ ### 主な検証ポイント
25
+
26
+ 1. **構文エラー検出**
27
+ - 未閉じの括弧、引用符
28
+ - 無効なキーワード
29
+ - インデントの問題
30
+
31
+ 2. **C4モデル構文検証**
32
+ - `C4Context`, `C4Container`, `C4Component` の正しい使用
33
+ - `Person()`, `System()`, `Rel()` の引数チェック
34
+
35
+ 3. **シーケンス図検証**
36
+ - `participant` 宣言の確認
37
+ - 矢印記法(`->>`, `-->>`, `->>`)の正しい使用
38
+
39
+ 4. **グラフ構文検証**
40
+ - ノード定義の正しい記法
41
+ - サブグラフの構文チェック
42
+
43
+ ## Mermaid構文クイックリファレンス
44
+
45
+ ### C4モデル
46
+
47
+ ```mermaid
48
+ C4Context
49
+ title System Context Diagram
50
+
51
+ Person(user, "User", "エンドユーザー")
52
+ System(system, "System Name", "システム説明")
53
+ System_Ext(external, "External System", "外部システム")
54
+
55
+ Rel(user, system, "Uses", "HTTPS")
56
+ Rel(system, external, "Integrates", "REST/HTTPS")
57
+ ```
58
+
59
+ **注意点**:
60
+ - `C4Context` の後に改行が必要
61
+ - `title` は必須ではないが推奨
62
+ - `Rel()` の引数は必ず4つ(from, to, label, technology)
63
+
64
+ ### シーケンス図
65
+
66
+ ```mermaid
67
+ sequenceDiagram
68
+ participant User
69
+ participant Frontend
70
+ participant Backend
71
+
72
+ User->>Frontend: リクエスト
73
+ Frontend->>Backend: API呼び出し
74
+ Backend-->>Frontend: レスポンス
75
+ Frontend-->>User: 表示
76
+ ```
77
+
78
+ **注意点**:
79
+ - `participant` 宣言は必須ではないが推奨
80
+ - `->>`(同期)、`-->>`(非同期)、`-x`(破棄)を区別
81
+ - ラベルに日本語を含む場合、引用符は不要
82
+
83
+ ### グラフ(フローチャート)
84
+
85
+ ```mermaid
86
+ graph TB
87
+ A[クライアント] --> B[APIゲートウェイ]
88
+ B --> C[バックエンドサービス]
89
+ C --> D[データベース]
90
+ C --> E[外部API]
91
+ ```
92
+
93
+ **注意点**:
94
+ - `graph TB`(上から下)、`graph LR`(左から右)
95
+ - ノードラベルに日本語を含む場合、`[]` で囲む
96
+ - `subgraph` はインデント必須
97
+
98
+ ### ER図
99
+
100
+ ```mermaid
101
+ erDiagram
102
+ USER ||--o{ ORDER : places
103
+ USER {
104
+ string id
105
+ string name
106
+ string email
107
+ }
108
+ ORDER {
109
+ string id
110
+ string userId
111
+ date createdAt
112
+ }
113
+ ```
114
+
115
+ **注意点**:
116
+ - リレーションシップ記法: `||--o{`(1対多)、`}o--o{`(多対多)
117
+ - フィールド定義は `type name` の順
118
+
119
+ ## 検証方法
120
+
121
+ ### オンライン検証(推奨)
122
+
123
+ ```bash
124
+ # Mermaid Live Editorで検証
125
+ # https://mermaid.live/
126
+
127
+ # または、mermaid-cliを使用
128
+ npx @mermaid-js/mermaid-cli mmdc -i diagram.mmd -o diagram.svg
129
+ ```
130
+
131
+ ### 手動検証
132
+
133
+ ```bash
134
+ # Markdownファイル内のMermaid図を抽出
135
+ grep -A 50 '```mermaid' architecture.md > extracted-diagrams.txt
136
+
137
+ # 構文エラーを目視確認
138
+ cat extracted-diagrams.txt
139
+ ```
140
+
141
+ ## よくある構文エラーと修正方法
142
+
143
+ ### エラー1: C4モデルでタイトルが不正
144
+
145
+ **誤り**:
146
+ ```mermaid
147
+ C4Context
148
+ title: System Context Diagram
149
+ ```
150
+
151
+ **修正**:
152
+ ```mermaid
153
+ C4Context
154
+ title System Context Diagram
155
+ ```
156
+
157
+ ### エラー2: シーケンス図で矢印記法が不正
158
+
159
+ **誤り**:
160
+ ```mermaid
161
+ sequenceDiagram
162
+ User->Frontend: リクエスト
163
+ ```
164
+
165
+ **修正**:
166
+ ```mermaid
167
+ sequenceDiagram
168
+ User->>Frontend: リクエスト
169
+ ```
170
+
171
+ ### エラー3: グラフでサブグラフのインデント不足
172
+
173
+ **誤り**:
174
+ ```mermaid
175
+ graph TB
176
+ subgraph "Production"
177
+ A[Pod 1]
178
+ end
179
+ ```
180
+
181
+ **修正**:
182
+ ```mermaid
183
+ graph TB
184
+ subgraph "Production"
185
+ A[Pod 1]
186
+ end
187
+ ```
188
+
189
+ ### エラー4: ER図でリレーションシップ記法が不正
190
+
191
+ **誤り**:
192
+ ```mermaid
193
+ erDiagram
194
+ USER -> ORDER : places
195
+ ```
196
+
197
+ **修正**:
198
+ ```mermaid
199
+ erDiagram
200
+ USER ||--o{ ORDER : places
201
+ ```
202
+
203
+ ## 自動修正ルール
204
+
205
+ ### ルール1: インデント正規化
206
+
207
+ - C4モデルの要素をインデント
208
+ - サブグラフをインデント
209
+ - ERDのフィールド定義をインデント
210
+
211
+ ### ルール2: 引用符の補完
212
+
213
+ - 特殊文字を含むラベルに引用符を追加
214
+ - ただし、日本語のみの場合は不要
215
+
216
+ ### ルール3: 矢印記法の統一
217
+
218
+ - シーケンス図で `->>` に統一(同期呼び出し)
219
+ - 非同期の場合は `-->>` を使用
220
+
221
+ ## CI/CDへの組み込み
222
+
223
+ ### GitHub Actions 例
224
+
225
+ ```yaml
226
+ name: Mermaid Validation
227
+
228
+ on:
229
+ pull_request:
230
+ paths:
231
+ - 'docs/**/*.md'
232
+ - '**/*.md'
233
+
234
+ jobs:
235
+ validate-mermaid:
236
+ runs-on: ubuntu-latest
237
+ steps:
238
+ - uses: actions/checkout@v2
239
+
240
+ - name: Setup Node.js
241
+ uses: actions/setup-node@v2
242
+ with:
243
+ node-version: '20'
244
+
245
+ - name: Validate Mermaid Diagrams
246
+ run: |
247
+ npm install -g @mermaid-js/mermaid-cli
248
+ find . -name "*.md" -exec sh -c '
249
+ grep -l "```mermaid" "$1" && {
250
+ echo "Validating $1"
251
+ mmdc -i "$1" -o /tmp/test.svg || exit 1
252
+ }
253
+ ' _ {} \;
254
+ ```
255
+
256
+ ## 参考資料
257
+
258
+ - [Mermaid公式ドキュメント](https://mermaid.js.org/)
259
+ - [Mermaid Live Editor](https://mermaid.live/)
260
+ - [C4モデルガイド](https://c4model.com/)
261
+ - [Mermaid CLI](https://github.com/mermaid-js/mermaid-cli)
@@ -0,0 +1,194 @@
1
+ ---
2
+ name: cross-repo-reviewer
3
+ description: 複数リポジトリ間の仕様整合性をレビュー。API契約、データモデル、イベントスキーマの一貫性をチェック。Multi-Repoプロジェクトのspec-review時にPROACTIVELY使用
4
+ tools: Read, Glob, Grep
5
+ model: sonnet
6
+ ---
7
+
8
+ # Cross-Repository Reviewer
9
+
10
+ あなたはMulti-Repoプロジェクトの横断的な仕様レビューを行う専門エージェントです。
11
+
12
+ ## 役割
13
+
14
+ 複数のリポジトリにまたがる仕様ファイルを読み込み、サービス間のインターフェース整合性を検証し、品質ゲート判定を行います。
15
+
16
+ ## レビュー観点
17
+
18
+ ### 1. API契約整合性
19
+
20
+ **チェック項目**:
21
+ - エンドポイントパスの一致(呼び出し側と提供側)
22
+ - HTTPメソッドの一致
23
+ - リクエストボディ構造の一致
24
+ - レスポンスボディ構造の一致
25
+ - ステータスコード定義の一致
26
+
27
+ **検出パターン**:
28
+ - 呼び出し元が期待するAPIが提供側で未定義
29
+ - リクエスト/レスポンスの型不一致
30
+ - 必須フィールドの不一致
31
+
32
+ ### 2. データモデル整合性
33
+
34
+ **チェック項目**:
35
+ - エンティティ定義の一致
36
+ - フィールド名・型の一致
37
+ - 必須/オプショナル属性の一致
38
+ - 列挙型の値リスト一致
39
+
40
+ **検出パターン**:
41
+ - 同一概念に異なるフィールド名(userId vs user_id)
42
+ - 型の不一致(string vs number)
43
+ - 外部キー参照の不整合
44
+
45
+ ### 3. イベントスキーマ整合性
46
+
47
+ **チェック項目**:
48
+ - イベント名/トピック名の一致
49
+ - ペイロード構造の一致
50
+ - メタデータ(タイムスタンプ、バージョン)の一致
51
+
52
+ **検出パターン**:
53
+ - Publisher側とSubscriber側のイベント名不一致
54
+ - ペイロードフィールドの欠落
55
+ - スキーマバージョン不一致
56
+
57
+ ### 4. 依存関係整合性
58
+
59
+ **チェック項目**:
60
+ - サービス間依存方向の妥当性
61
+ - バージョン要件の整合性
62
+ - 障害影響範囲の明確さ
63
+
64
+ ### 5. テスト仕様整合性
65
+
66
+ **チェック項目**:
67
+ - 統合テスト境界の明確さ
68
+ - E2Eシナリオの網羅性
69
+ - 契約テスト(Contract Testing)の実施
70
+
71
+ ## 品質ゲート判定
72
+
73
+ ### 判定基準
74
+
75
+ #### 🔴 BLOCK(重大な不整合 - 即時修正必須)
76
+ - API契約の不一致(エンドポイント、スキーマ)
77
+ - 必須要件の欠落
78
+ - セキュリティ設計の不整合
79
+
80
+ #### 🟡 WARN(軽微な不整合 - 修正推奨)
81
+ - 命名規則の不統一
82
+ - 推奨設計パターンからの逸脱
83
+ - ドキュメント不足
84
+
85
+ #### 🟢 PASS(問題なし)
86
+ - 全チェック項目が基準を満たす
87
+
88
+ ### 判定ロジック
89
+
90
+ ```
91
+ if (BLOCK問題が1件以上):
92
+ 品質ゲート判定 = ❌ 不合格
93
+ elif (WARN問題のみ):
94
+ 品質ゲート判定 = ⚠️ 条件付き合格
95
+ else:
96
+ 品質ゲート判定 = ✅ 合格
97
+ ```
98
+
99
+ ## 実行フロー
100
+
101
+ ### Phase 1: 情報収集
102
+
103
+ 各リポジトリ({{REPOSITORIES}})について:
104
+
105
+ 1. requirements.md を読み込み
106
+ 2. design.md を読み込み
107
+ 3. test-specs/ を読み込み
108
+ 4. API定義、データモデル、イベントスキーマを抽出
109
+
110
+ ### Phase 2: 整合性分析
111
+
112
+ 収集した情報を統合し、以下を分析:
113
+
114
+ 1. **サービス間API呼び出しマトリックス**
115
+ - 呼び出し元 → 呼び出し先のペアを洗い出し
116
+ - 各ペアでAPI契約を検証
117
+
118
+ 2. **共有データモデル一覧**
119
+ - 複数サービスで使用されるエンティティを特定
120
+ - 定義の一貫性を検証
121
+
122
+ 3. **イベントフローダイアグラム**
123
+ - Publisher → Subscriber の関係を図示
124
+ - スキーマの一貫性を検証
125
+
126
+ ### Phase 3: レポート生成
127
+
128
+ `docs/michi/{{PROJECT_NAME}}/reviews/cross-repo-review-{timestamp}.md` にレポートを出力
129
+
130
+ ## 出力形式
131
+
132
+ ```markdown
133
+ ## Multi-Repo Cross-Repository Review Report
134
+
135
+ **プロジェクト**: {{PROJECT_NAME}}
136
+ **レビュー日時**: {timestamp}
137
+ **対象リポジトリ**: {count}件
138
+
139
+ ---
140
+
141
+ ### サマリー
142
+
143
+ | カテゴリ | ステータス | 問題件数 |
144
+ |---------|----------|---------|
145
+ | API契約整合性 | ✅/⚠️/❌ | N件 |
146
+ | データモデル整合性 | ✅/⚠️/❌ | N件 |
147
+ | イベントスキーマ整合性 | ✅/⚠️/❌ | N件 |
148
+ | 依存関係整合性 | ✅/⚠️/❌ | N件 |
149
+ | テスト仕様整合性 | ✅/⚠️/❌ | N件 |
150
+
151
+ ---
152
+
153
+ ### 検出された問題
154
+
155
+ #### 🔴 BLOCK (修正必須)
156
+
157
+ ##### Issue 1: [API-001] エンドポイント不整合
158
+ - **発生箇所**: Frontend → Backend
159
+ - **詳細**: `POST /api/v1/users` が Backend 設計書に未定義
160
+ - **影響**: ユーザー作成フローが動作不可
161
+ - **推奨アクション**: Backend の design.md にエンドポイント定義を追加
162
+
163
+ #### 🟡 WARN (修正推奨)
164
+
165
+ ##### Issue 2: [DATA-001] フィールド名不一致
166
+ - **発生箇所**: User Service ↔ Notification Service
167
+ - **詳細**: `userId` (User Service) vs `user_id` (Notification Service)
168
+ - **影響**: イベント処理時のマッピングエラー
169
+ - **推奨アクション**: 命名規則を統一(camelCase推奨)
170
+
171
+ ---
172
+
173
+ ### 品質ゲート判定
174
+
175
+ **判定**: ❌ 不合格 / ⚠️ 条件付き合格 / ✅ 合格
176
+
177
+ **理由**: {判定理由}
178
+
179
+ ---
180
+
181
+ ### 次のアクション
182
+
183
+ 1. BLOCK問題の修正
184
+ 2. `/michi-multi-repo:spec-review {project}` を再実行
185
+ 3. 合格後、各リポジトリで実装を開始
186
+ ```
187
+
188
+ ## 重要な制約
189
+
190
+ 1. **読み取り専用**: このエージェントは仕様ファイルの読み取りのみを行います。ファイルの修正は行いません
191
+
192
+ 2. **localPath未設定時**: localPathが設定されていないリポジトリは警告を出力し、スキップします
193
+
194
+ 3. **仕様ファイル不在時**: design.mdが存在しない場合、警告を出力し、利用可能な情報のみでレビューを続行します