@sk8metal/michi-cli 0.13.0 → 0.14.1

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 (46) hide show
  1. package/CHANGELOG.md +86 -0
  2. package/README.md +27 -8
  3. package/dist/src/commands/setup-existing.d.ts.map +1 -1
  4. package/dist/src/commands/setup-existing.js +19 -74
  5. package/dist/src/commands/setup-existing.js.map +1 -1
  6. package/package.json +1 -1
  7. package/templates/claude/agents/design-reviewer/AGENT.md +0 -497
  8. package/templates/claude/agents/e2e-first-planner/AGENT.md +0 -410
  9. package/templates/claude/agents/mermaid-validator/AGENT.md +0 -257
  10. package/templates/claude/agents/oss-license-checker/AGENT.md +0 -265
  11. package/templates/claude/agents/pr-resolver/AGENT.md +0 -208
  12. package/templates/claude/agents/pr-size-monitor/AGENT.md +0 -330
  13. package/templates/claude/agents/stable-version-auditor/AGENT.md +0 -279
  14. package/templates/claude/commands/kiro/kiro-spec-impl.md +0 -257
  15. package/templates/claude/commands/kiro/kiro-spec-tasks.md +0 -370
  16. package/templates/claude/commands/michi/confluence-sync.md +0 -44
  17. package/templates/claude/commands/michi/design-review.md +0 -70
  18. package/templates/claude/commands/michi/e2e-plan.md +0 -117
  19. package/templates/claude/commands/michi/license-check.md +0 -84
  20. package/templates/claude/commands/michi/pr-resolve.md +0 -157
  21. package/templates/claude/commands/michi/project-switch.md +0 -42
  22. package/templates/claude/commands/michi/spec-design.md +0 -78
  23. package/templates/claude/commands/michi/spec-impl.md +0 -889
  24. package/templates/claude/commands/michi/spec-tasks.md +0 -156
  25. package/templates/claude/commands/michi/test-planning.md +0 -174
  26. package/templates/claude/commands/michi/validate-design.md +0 -58
  27. package/templates/claude/commands/michi/version-audit.md +0 -95
  28. package/templates/claude/commands/michi-multi-repo/impl-all.md +0 -293
  29. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +0 -284
  30. package/templates/claude/commands/michi-multi-repo/spec-design.md +0 -359
  31. package/templates/claude/commands/michi-multi-repo/spec-init.md +0 -228
  32. package/templates/claude/commands/michi-multi-repo/spec-requirements.md +0 -198
  33. package/templates/claude/commands/michi-multi-repo/spec-review.md +0 -261
  34. package/templates/claude/rules/atlassian-integration.md +0 -35
  35. package/templates/claude/rules/michi-core.md +0 -54
  36. package/templates/claude/skills/design-review/SKILL.md +0 -648
  37. package/templates/claude/skills/e2e-first-planning/SKILL.md +0 -360
  38. package/templates/claude/skills/mermaid-validator/SKILL.md +0 -261
  39. package/templates/claude/skills/oss-license/SKILL.md +0 -232
  40. package/templates/claude/skills/stable-version/SKILL.md +0 -252
  41. package/templates/claude-agent/rules/code-size-monitor.md +0 -26
  42. package/templates/claude-agent/rules/code-size-rules.md +0 -32
  43. package/templates/michi/cc-sdd-overrides/README.md +0 -58
  44. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +0 -53
  45. package/templates/michi/cc-sdd-overrides/settings/templates/specs/init.json +0 -24
  46. package/templates/michi/cc-sdd-overrides/settings/templates/specs/tasks.md +0 -446
@@ -1,359 +0,0 @@
1
- ---
2
- description: Multi-Repoプロジェクトの設計書をAI支援で生成
3
- allowed-tools: Bash, Glob, Grep, LS, Read, Write, Edit, MultiEdit, Update, WebSearch, WebFetch
4
- argument-hint: <project-name> [-y]
5
- ---
6
-
7
- # Multi-Repo Design Generator
8
-
9
- <background_information>
10
- - **Mission**: Multi-Repoプロジェクトの包括的な技術設計書を生成
11
- - **Success Criteria**:
12
- - 全サービスのアーキテクチャを統合
13
- - サービス間通信の設計を明確化
14
- - 各サービスの技術スタックを反映
15
- - C4モデルに基づいた視覚的な設計図を含む
16
- </background_information>
17
-
18
- <instructions>
19
- ## Core Task
20
- Multi-Repoプロジェクト **$1** の技術設計書を生成します。
21
-
22
- ## Execution Steps
23
-
24
- ### Step 1: コンテキスト読み込み
25
- 1. `.michi/config.json` からプロジェクト情報取得
26
- - プロジェクト名、JIRAキー、Confluenceスペース
27
- - 登録リポジトリ一覧
28
- 2. `docs/michi/$1/overview/requirements.md` から要件読み込み
29
- - 要件定義書が存在しない場合は、先に `/michi-multi-repo:spec-requirements $1` の実行を促す
30
- 3. `.kiro/settings/rules/design-principles.md` から設計原則取得(存在する場合)
31
- 4. `.kiro/settings/templates/specs/design.md` から構造参照(存在する場合)
32
-
33
- ### Step 2: Discovery & Analysis
34
-
35
- **Multi-Repo固有の分析**:
36
-
37
- 1. **各リポジトリの技術スタック調査**
38
- - package.json / build.gradle / composer.json / requirements.txt
39
- - 使用フレームワーク、ライブラリバージョン
40
- - 依存関係の分析
41
-
42
- 2. **サービス間通信パターンの特定**
43
- - REST API / GraphQL / gRPC
44
- - メッセージキュー / イベントバス(Kafka、RabbitMQ等)
45
- - 同期通信 vs 非同期通信
46
-
47
- 3. **共有コンポーネントの識別**
48
- - 共通ライブラリ
49
- - 共有データモデル
50
- - 共通インフラストラクチャ(ログ、監視、認証等)
51
-
52
- 4. **データフローの分析**
53
- - サービス間のデータ連携
54
- - データの永続化方式
55
- - キャッシュ戦略
56
-
57
- ### Step 3: 設計書生成
58
-
59
- 以下のセクションを含む設計書を生成します:
60
-
61
- 1. **システム全体図**
62
- - C4モデル - システムコンテキスト図(Mermaid)
63
- - 全サービスの配置とフロー
64
- - 外部システムとの連携
65
-
66
- 2. **サービス横断アーキテクチャ**
67
- - マイクロサービス構成図(C4モデル推奨)
68
- - サービス間API契約定義
69
- - イベントスキーマ定義
70
- - データフロー図
71
-
72
- 3. **各サービスの設計**
73
- - コンポーネント図
74
- - インターフェース定義
75
- - データモデル
76
- - 主要クラス/モジュール構造
77
-
78
- 4. **セキュリティ設計**
79
- - 認証・認可の連携(OAuth2、JWT等)
80
- - 通信暗号化(TLS、mTLS)
81
- - シークレット管理
82
-
83
- 5. **デプロイメントアーキテクチャ**
84
- - インフラストラクチャ構成(Kubernetes、Docker等)
85
- - ネットワーク設計
86
- - スケーリング戦略
87
-
88
- 6. **データモデル**
89
- - サービス横断のデータフロー
90
- - データベーススキーマ(サービスごと)
91
- - データ整合性の保証方法
92
-
93
- ### Step 4: ファイル保存
94
- - 出力先: `docs/michi/$1/overview/architecture.md`
95
- - 既存ファイルがある場合は、上書き確認(`-y` フラグで自動承認)
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
-
140
- ### Step 5: メタデータ更新(spec.json)
141
- - `docs/michi/$1/spec.json` を読み込み
142
- - phase を `"design-generated"` に更新
143
- - `approvals.design.generated` を `true` に更新
144
- - `updated_at` を現在のISO 8601タイムスタンプに更新
145
- - spec.json を保存
146
-
147
- ## Multi-Repo固有セクション
148
-
149
- 設計書に以下のセクションを必ず含めること:
150
-
151
- ```markdown
152
- ## サービス横断アーキテクチャ
153
-
154
- ### C4モデル - システムコンテキスト図
155
-
156
- \`\`\`mermaid
157
- C4Context
158
- title System Context Diagram
159
-
160
- Person(user, "User", "エンドユーザー")
161
- System(frontend, "Frontend Service", "Webアプリケーション")
162
- System(backend, "Backend Service", "APIサーバー")
163
- System_Ext(external_api, "External API", "外部サービス")
164
-
165
- Rel(user, frontend, "Uses", "HTTPS")
166
- Rel(frontend, backend, "API calls", "REST/HTTPS")
167
- Rel(backend, external_api, "Integrates", "REST/HTTPS")
168
- \`\`\`
169
-
170
- ### サービス間通信
171
-
172
- | 呼び出し元 | 呼び出し先 | 方式 | プロトコル | 用途 |
173
- |-----------|-----------|------|-----------|------|
174
- | Frontend | API Gateway | 同期 | REST/HTTPS | ユーザーリクエスト処理 |
175
- | API Gateway | Auth Service | 同期 | gRPC | 認証・認可 |
176
- | User Service | Notification Service | 非同期 | Kafka | ユーザー作成イベント通知 |
177
-
178
- ### 共有コンポーネント
179
-
180
- **共通ライブラリ**:
181
- - `@org/shared-types`: TypeScript型定義(全サービスで共有)
182
- - `@org/logger`: 統一ログライブラリ
183
-
184
- **共通インフラ**:
185
- - Elasticsearch: ログ集約
186
- - Prometheus + Grafana: メトリクス監視
187
- - Keycloak: 統合認証基盤
188
-
189
- ### デプロイメントアーキテクチャ
190
-
191
- \`\`\`mermaid
192
- graph TB
193
- subgraph "Production Kubernetes Cluster"
194
- LB[Load Balancer]
195
- FE1[Frontend Pod 1]
196
- FE2[Frontend Pod 2]
197
- BE1[Backend Pod 1]
198
- BE2[Backend Pod 2]
199
- DB[(PostgreSQL)]
200
-
201
- LB --> FE1
202
- LB --> FE2
203
- FE1 --> BE1
204
- FE2 --> BE2
205
- BE1 --> DB
206
- BE2 --> DB
207
- end
208
- \`\`\`
209
-
210
- ### データフロー
211
-
212
- \`\`\`mermaid
213
- sequenceDiagram
214
- participant User
215
- participant Frontend
216
- participant API Gateway
217
- participant Auth Service
218
- participant User Service
219
- participant Database
220
-
221
- User->>Frontend: リクエスト
222
- Frontend->>API Gateway: API呼び出し
223
- API Gateway->>Auth Service: トークン検証
224
- Auth Service-->>API Gateway: 検証成功
225
- API Gateway->>User Service: ユーザー情報取得
226
- User Service->>Database: クエリ実行
227
- Database-->>User Service: データ返却
228
- User Service-->>API Gateway: レスポンス
229
- API Gateway-->>Frontend: レスポンス
230
- Frontend-->>User: 表示
231
- \`\`\`
232
- ```
233
-
234
- ## Important Constraints
235
- - 実装詳細ではなく、アーキテクチャ設計に焦点を当てる
236
- - サービス間の境界とインターフェースを明確にする
237
- - 技術選定の理由を記述する
238
- - スケーラビリティとパフォーマンスを考慮
239
- - セキュリティ要件を設計に反映
240
-
241
- </instructions>
242
-
243
- ## Tool Guidance
244
- - **Read first**: プロジェクト設定、要件定義書、設計原則、テンプレートを読み込み
245
- - **Glob/Grep**: 各リポジトリの技術スタック調査(ローカルクローンがある場合)
246
- - **Write last**: 設計書を最後に保存
247
- - **WebSearch/WebFetch**: 最新の設計パターンやベストプラクティスが必要な場合のみ使用
248
-
249
- ## Output Description
250
- 以下の情報を出力してください:
251
-
252
- 1. **生成された設計書のパス**: `docs/michi/{project}/overview/architecture.md`
253
- 2. **分析したリポジトリの一覧**: サービス名と技術スタックの要約
254
- 3. **品質検証結果**:
255
- - Mermaid図の検証結果
256
- - 技術スタックバージョン監査結果
257
- 4. **次のステップ**:
258
- - 設計書の確認
259
- - Confluence同期
260
- - 各リポジトリでの個別実装
261
-
262
- **出力形式**:
263
- ```markdown
264
- ## 設計書生成完了
265
-
266
- ### 出力ファイル
267
- `docs/michi/{project}/overview/architecture.md`
268
-
269
- ### 分析したサービス
270
- - **Frontend**: React + TypeScript(3リポジトリ依存)
271
- - **Backend**: Node.js + Express(2リポジトリ依存)
272
- - **Auth Service**: Go + gRPC(独立)
273
-
274
- ### アーキテクチャ概要
275
- - **通信方式**: REST API(同期)、Kafka(非同期イベント)
276
- - **データベース**: PostgreSQL(サービスごとにDB分離)
277
- - **デプロイ**: Kubernetes(Pod自動スケーリング)
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
-
295
- ### 次のステップ
296
- 1. 設計書を確認: `docs/michi/{project}/overview/architecture.md`
297
- 2. 技術スタック更新(必要に応じて)
298
- 3. Confluenceに同期: `michi multi-repo:confluence-sync {project} --doc-type architecture`
299
- 4. 各リポジトリで実装を開始:
300
- - `/kiro:spec-init` で個別仕様を作成
301
- - または直接実装を開始
302
- ```
303
-
304
- ## Safety & Fallback
305
-
306
- ### Error Scenarios
307
- - **要件定義書未作成**:
308
- ```
309
- エラー: 要件定義書が見つかりません: `docs/michi/{project}/overview/requirements.md`
310
-
311
- 先に要件定義書を生成してください:
312
- /michi-multi-repo:spec-requirements {project}
313
- ```
314
-
315
- - **プロジェクト未登録**:
316
- ```
317
- エラー: プロジェクト '{project}' が見つかりません。
318
-
319
- 次のコマンドでプロジェクトを初期化してください:
320
- michi multi-repo:init {project} --jira {JIRA_KEY} --confluence-space {SPACE}
321
- ```
322
-
323
- - **リポジトリアクセス不可**:
324
- ```
325
- 警告: 一部のリポジトリのローカルクローンがありません。
326
-
327
- 設定情報(URL、ブランチ)から推測して設計書を生成します。
328
- より詳細な設計が必要な場合は、リポジトリをクローンしてから再実行してください。
329
- ```
330
-
331
- - **既存ファイル存在(`-y` フラグなし)**:
332
- ```
333
- 警告: 既存の設計書が存在します: `docs/michi/{project}/overview/architecture.md`
334
-
335
- 上書きしてもよろしいですか? (y/n)
336
- または `-y` フラグを使用して自動承認できます。
337
- ```
338
-
339
- ### Fallback Strategy
340
- - **設計原則ファイル不在**: 基本的な設計原則(SOLID、DRY等)を適用
341
- - **技術スタック不明**: README や設定ファイルから推測、または "未指定" として記載
342
- - **依存関係不明**: 基本的なクライアント-サーバー構成を仮定
343
- - **テンプレート不在**: インラインで基本構造を使用
344
-
345
- ### Next Phase: Implementation
346
-
347
- **設計書承認後**:
348
- 1. 設計書を確認: `docs/michi/{project}/overview/architecture.md`
349
- 2. Confluenceに同期: `michi multi-repo:confluence-sync {project} --doc-type architecture`
350
- 3. **各リポジトリで個別実装**:
351
- - リポジトリごとに `/kiro:spec-init` で仕様作成
352
- - または直接実装を開始
353
- 4. **CI/CD設定**: `michi multi-repo:ci-status {project}` でCI結果を監視
354
-
355
- **修正が必要な場合**:
356
- - フィードバックを提供し、`/michi-multi-repo:spec-design $1` を再実行
357
- - `-y` フラグで自動上書き可能
358
-
359
- think hard
@@ -1,228 +0,0 @@
1
- ---
2
- description: Multi-Repoプロジェクトを初期化し、プロジェクト説明とメタデータを設定
3
- allowed-tools: Bash, Glob, Read, Write, Edit
4
- argument-hint: "<project-description>" --jira <JIRA_KEY> --confluence-space <SPACE>
5
- ---
6
-
7
- # Multi-Repo Specification Initialization
8
-
9
- <background_information>
10
- - **Mission**: Multi-Repoプロジェクトの初期化(`michi multi-repo:init` の代替)
11
- - **Success Criteria**:
12
- - プロジェクト説明からfeature-name形式のプロジェクト名を生成
13
- - ディレクトリ構造を作成
14
- - spec.jsonでメタデータ管理を開始
15
- - `.michi/config.json` のmultiRepoProjectsに登録
16
- - 次のステップ(リポジトリ登録、要件定義)への明確な誘導
17
- </background_information>
18
-
19
- <instructions>
20
- ## Core Task
21
- プロジェクト説明 **$1** から Multi-Repoプロジェクトを初期化し、`michi multi-repo:init` と同等の機能をAIコマンドとして提供します。
22
-
23
- ## 引数解析
24
-
25
- 引数の形式:
26
- ```
27
- /michi-multi-repo:spec-init "<プロジェクト説明>" --jira <JIRA_KEY> --confluence-space <SPACE>
28
- ```
29
-
30
- パラメータ:
31
- - **$1**: プロジェクト説明(必須) - 例: "マイクロサービスアーキテクチャでECサイトを構築"
32
- - **--jira**: JIRAプロジェクトキー(必須) - 例: MSV
33
- - **--confluence-space**: Confluenceスペースキー(必須) - 例: MSV
34
-
35
- ## Execution Steps
36
-
37
- ### Step 1: 引数解析とバリデーション
38
-
39
- 1. **プロジェクト説明の取得**: $1 からプロジェクト説明を抽出
40
- 2. **JIRA/Confluenceキーの取得**:
41
- - `--jira` オプションの値を取得(なければエラー)
42
- - `--confluence-space` オプションの値を取得(なければエラー)
43
- 3. **バリデーション**:
44
- - JIRAキー: 2-10文字の大文字英字のみ(正規表現: `^[A-Z]{2,10}$`)
45
- - Confluenceスペースキー: 空でない文字列
46
-
47
- ### Step 2: プロジェクト名の生成
48
-
49
- 1. **feature-name形式に変換**:
50
- - プロジェクト説明から簡潔なプロジェクト名を生成
51
- - 形式: 小文字英数字とハイフン(例: `my-microservices`, `ec-platform`)
52
- - 日本語説明の場合は英語に変換
53
-
54
- 2. **一意性チェック**:
55
- - `.michi/config.json` の `multiRepoProjects` を確認
56
- - 重複する場合は数値サフィックスを追加(例: `my-project-2`)
57
-
58
- ### Step 3: ディレクトリ構造の作成
59
-
60
- 以下のディレクトリとファイルを作成:
61
-
62
- ```
63
- docs/michi/{project-name}/
64
- ├── spec.json # メタデータファイル(NEW)
65
- ├── overview/
66
- │ ├── requirements.md # 要件定義書(プロジェクト説明を含む)
67
- │ ├── architecture.md # アーキテクチャ設計書(テンプレート)
68
- │ └── sequence.md # シーケンス図(テンプレート)
69
- ├── steering/
70
- │ └── multi-repo.md # ステアリングドキュメント(テンプレート)
71
- ├── tests/
72
- │ ├── scripts/ # テストスクリプト配置用
73
- │ ├── results/ # テスト結果保存用
74
- │ ├── unit/
75
- │ ├── integration/
76
- │ ├── e2e/
77
- │ └── performance/
78
- └── docs/
79
- ├── ci-status.md # CI結果サマリー(テンプレート)
80
- └── release-notes.md # リリースノート(テンプレート)
81
- ```
82
-
83
- ### Step 4: メタデータ初期化
84
-
85
- 1. **spec.jsonの生成**:
86
- - テンプレート: `templates/multi-repo/spec.json`
87
- - プレースホルダー置換:
88
- - `{{PROJECT_NAME}}` → 生成されたプロジェクト名
89
- - `{{CREATED_AT}}` → 現在のISO 8601タイムスタンプ
90
- - `{{JIRA_KEY}}` → JIRAキー
91
- - `{{CONFLUENCE_SPACE}}` → Confluenceスペースキー
92
- - 出力先: `docs/michi/{project-name}/spec.json`
93
-
94
- 2. **requirements.mdの初期化**:
95
- - テンプレート: `templates/multi-repo/overview/requirements.md`
96
- - 「概要」セクションにプロジェクト説明を記載
97
- - プレースホルダー置換
98
- - 出力先: `docs/michi/{project-name}/overview/requirements.md`
99
-
100
- 3. **その他テンプレートファイルのレンダリング**:
101
- - `templates/multi-repo/overview/architecture.md` → `docs/michi/{project-name}/overview/architecture.md`
102
- - `templates/multi-repo/overview/sequence.md` → `docs/michi/{project-name}/overview/sequence.md`
103
- - `templates/multi-repo/steering/multi-repo.md` → `docs/michi/{project-name}/steering/multi-repo.md`
104
- - `templates/multi-repo/tests/strategy.md` → `docs/michi/{project-name}/tests/strategy.md`
105
- - `templates/multi-repo/docs/ci-status.md` → `docs/michi/{project-name}/docs/ci-status.md`
106
- - `templates/multi-repo/docs/release-notes.md` → `docs/michi/{project-name}/docs/release-notes.md`
107
-
108
- ### Step 5: .michi/config.json の更新
109
-
110
- 1. **config.jsonの読み込み**: `.michi/config.json` を読み込む
111
- 2. **multiRepoProjects に追加**:
112
- ```json
113
- {
114
- "name": "{project-name}",
115
- "jiraKey": "{JIRA_KEY}",
116
- "confluenceSpace": "{CONFLUENCE_SPACE}",
117
- "createdAt": "{ISO 8601 timestamp}",
118
- "repositories": []
119
- }
120
- ```
121
- 3. **保存**: `.michi/config.json` を保存
122
-
123
- ## Important Constraints
124
- - プロジェクト名は1-100文字、パストラバーサル文字(`/`, `\`, `..`)、制御文字は禁止
125
- - JIRAキーは2-10文字の大文字英字のみ
126
- - Confluenceスペースキーは空でない文字列
127
- - 既存プロジェクト名と重複する場合は数値サフィックスを自動追加
128
- - DO NOT generate requirements/design at this stage(要件・設計は後続コマンドで生成)
129
-
130
- </instructions>
131
-
132
- ## Tool Guidance
133
- - **Glob**: `.michi/config.json` 存在確認、プロジェクト名の一意性チェック
134
- - **Read**: テンプレートファイル読み込み、config.json 読み込み
135
- - **Write**: spec.json、requirements.md、config.json、その他テンプレート出力
136
- - **Edit**: config.json の multiRepoProjects 配列に追加(必要に応じて)
137
-
138
- ## Output Description
139
- 日本語で以下の情報を出力してください:
140
-
141
- 1. **生成されたプロジェクト名**: `{project-name}` 形式(1-2文で理由を説明)
142
- 2. **プロジェクト概要**: プロジェクト説明の要約(1文)
143
- 3. **作成されたファイル**: 箇条書きで主要ファイルのパス
144
- 4. **次のステップ**: 次に実行すべきコマンド(リポジトリ登録、要件定義)
145
-
146
- **出力形式**:
147
- ```markdown
148
- ## Multi-Repoプロジェクト初期化完了
149
-
150
- ### プロジェクト名
151
- `{project-name}`
152
-
153
- プロジェクト説明「{description}」から生成しました。
154
-
155
- ### プロジェクト概要
156
- {プロジェクト説明の要約}
157
-
158
- ### 作成されたファイル
159
- - `docs/michi/{project}/spec.json` - メタデータ(phase: initialized)
160
- - `docs/michi/{project}/overview/requirements.md` - 要件定義書(初期化済み)
161
- - `docs/michi/{project}/overview/architecture.md` - 設計書(テンプレート)
162
- - `.michi/config.json` - multiRepoProjects に登録
163
-
164
- ### 次のステップ
165
-
166
- 1. **リポジトリを登録**:
167
- \`\`\`bash
168
- michi multi-repo:add-repo {project} --name frontend --url https://github.com/org/frontend --branch main
169
- michi multi-repo:add-repo {project} --name backend --url https://github.com/org/backend --branch main
170
- \`\`\`
171
-
172
- 2. **AI要件定義書を生成**:
173
- \`\`\`bash
174
- /michi-multi-repo:spec-requirements {project}
175
- \`\`\`
176
-
177
- 3. **AI設計書を生成**:
178
- \`\`\`bash
179
- /michi-multi-repo:spec-design {project}
180
- \`\`\`
181
-
182
- 4. **Confluenceに同期**:
183
- \`\`\`bash
184
- michi multi-repo:confluence-sync {project}
185
- \`\`\`
186
- ```
187
-
188
- ## Safety & Fallback
189
-
190
- ### Error Scenarios
191
-
192
- - **引数不足**:
193
- ```
194
- エラー: 必須パラメータが不足しています。
195
-
196
- 使用方法:
197
- /michi-multi-repo:spec-init "<プロジェクト説明>" --jira <JIRA_KEY> --confluence-space <SPACE>
198
-
199
- 例:
200
- /michi-multi-repo:spec-init "マイクロサービスでECサイト構築" --jira MSV --confluence-space MSV
201
- ```
202
-
203
- - **JIRAキーが不正**:
204
- ```
205
- エラー: JIRAキーは2-10文字の大文字英字のみです(例: MSV, PROJ)
206
- ```
207
-
208
- - **プロジェクト名重複**:
209
- ```
210
- 警告: プロジェクト名 '{project-name}' は既に存在します。
211
- 自動的に '{project-name-2}' として作成しました。
212
- ```
213
-
214
- - **config.json が存在しない**:
215
- ```
216
- エラー: .michi/config.json が見つかりません。
217
-
218
- Michiプロジェクトのルートディレクトリで実行してください。
219
- または、次のコマンドで初期設定を行ってください:
220
- michi init
221
- ```
222
-
223
- ### Fallback Strategy
224
- - プロジェクト名生成が曖昧な場合: 2-3の候補を提示し、ユーザーに選択を求める
225
- - テンプレートファイル不在: エラーメッセージと対処方法を表示
226
- - ディレクトリ作成失敗: パーミッションまたはディスク容量の確認を促す
227
-
228
- think hard