@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
@@ -1,368 +0,0 @@
1
- # マルチプロジェクト管理ガイド
2
-
3
- > **凡例について**: `<feature>` などの記号の意味は [README.md#凡例の記号説明](../README.md#凡例の記号説明) を参照してください。
4
-
5
- ## 概要
6
-
7
- Michiは、複数プロジェクト(3-5案件)を同時並行で管理できるように設計されています。
8
-
9
- ## アーキテクチャ
10
-
11
- ### プロジェクト構成
12
-
13
- **構成**: 1つのリポジトリ内で複数プロジェクトを管理します。**すべてのプロジェクト(単一プロジェクトも含む)は`projects/`ディレクトリ配下に配置され、それぞれに`.kiro/project.json`を持ちます。**
14
-
15
- ```
16
- repository/ ← 1つのGitHubリポジトリ
17
- ├── projects/
18
- │ ├── 20240115-payment-api/ ← プロジェクトA
19
- │ │ └── .kiro/
20
- │ │ ├── project.json
21
- │ │ └── specs/
22
- │ ├── 20240201-user-management/ ← プロジェクトB
23
- │ │ └── .kiro/
24
- │ └── 20240310-analytics-api/ ← プロジェクトC
25
- │ └── .kiro/
26
- ├── package.json ← リポジトリルート(共有)
27
- ├── tsconfig.json ← リポジトリルート(共有)
28
- └── .gitignore ← リポジトリルート(共有)
29
- ```
30
-
31
- **重要な原則**:
32
- - **統一されたディレクトリ構成**: 単一プロジェクトも`projects/{project-id}/`配下に配置
33
- - 各プロジェクトディレクトリに`.kiro/project.json`を配置
34
- - 作業ディレクトリ(`process.cwd()`)から`.kiro/project.json`を読み込んでプロジェクトを識別
35
- - プロジェクト切り替えは、該当ディレクトリに移動するだけ
36
- - `package.json`や`tsconfig.json`はリポジトリルートに配置(複数プロジェクトで共有)
37
-
38
- ### 統合管理
39
-
40
- **Confluence**: 共有スペース(PRD, QA, RELEASE)
41
- - ラベルでプロジェクトを識別
42
- - プロジェクト横断ダッシュボード
43
-
44
- **JIRA**: プロジェクトキー別
45
- - PRJA(プロジェクトA)
46
- - PRJB(プロジェクトB)
47
- - MICHI(統合ハブ)
48
-
49
- ## プロジェクトのセットアップ
50
-
51
- ### 新規プロジェクト追加
52
-
53
- 詳細な手順は [新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md) を参照してください。
54
-
55
- **クイックスタート**:
56
- 1. 既存リポジトリに追加: `npx tsx /path/to/michi/scripts/setup-existing-project.ts --michi-path /path/to/michi`
57
- 2. 新規リポジトリ作成: `npm run create-project -- --name <id> --project-name <name> --jira-key <key>`
58
-
59
- **マルチプロジェクト特有の注意点**:
60
- - 1つのリポジトリ内で複数プロジェクトを管理
61
- - 各プロジェクトは独立したディレクトリに配置
62
- - `.kiro/project.json`でプロジェクトを識別
63
- - Confluenceラベルでプロジェクト横断検索が可能
64
- - プロジェクト切り替えは、該当ディレクトリに移動するだけ
65
-
66
- ### 環境変数設定
67
-
68
- 各プロジェクトで`.env`ファイルを設定します。詳細は [新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md#step-5-環境変数設定) を参照してください。
69
-
70
- ### 動作確認
71
-
72
- セットアップ完了後、プロジェクト情報を確認します:
73
-
74
- ```bash
75
- # プロジェクト情報を表示
76
- cat .kiro/project.json
77
-
78
- # テスト機能で確認(オプション)
79
- /kiro:spec-init テスト機能
80
- /kiro:spec-requirements test-feature
81
- npx @sk8metal/michi-cli phase:run test-feature requirements
82
- ```
83
-
84
- ## プロジェクト切り替え
85
-
86
- ### 現在のプロジェクトを確認
87
-
88
- 作業中のプロジェクトを確認するには:
89
-
90
- ```bash
91
- # 現在のディレクトリを確認
92
- pwd
93
-
94
- # プロジェクト情報を表示
95
- cat .kiro/project.json
96
-
97
- # プロジェクトIDのみ表示
98
- cat .kiro/project.json | grep projectId
99
- ```
100
-
101
- ### Cursorで切り替え
102
-
103
- Cursor IDE内でプロジェクトを切り替える場合:
104
-
105
- **対話式切り替え(推奨)**:
106
- ```
107
- /kiro:project-switch
108
- ```
109
-
110
- パラメータを指定しない場合、リポジトリ内のプロジェクトリストが表示され、対話的に選択できます:
111
-
112
- ```
113
- 📋 利用可能なプロジェクト:
114
- 1. 20240115-payment-api (プロジェクトA サービス1) [active]
115
- 2. 20240201-user-management (プロジェクトA サービス2) [active]
116
- 3. 20240310-analytics-api (プロジェクトB API) [active]
117
-
118
- 選択してください (1-3): 1
119
-
120
- ✅ プロジェクト切り替え: 20240115-payment-api
121
- 📁 ディレクトリ: projects/20240115-payment-api
122
-
123
- プロジェクト情報:
124
- 名前: プロジェクトA サービス1
125
- JIRA: PRJA
126
- Confluence Labels: project:20240115-payment-api, service:payment
127
- ステータス: active
128
- ```
129
-
130
- **直接指定**:
131
- ```
132
- /kiro:project-switch 20240115-payment-api
133
- ```
134
-
135
- **実行内容**:
136
- 1. プロジェクトIDに対応するディレクトリを特定(`projects/20240115-payment-api`)
137
- 2. 該当ディレクトリに移動(Cursorの作業ディレクトリを変更)
138
- 3. `.kiro/project.json` を読み込んで表示
139
- 4. プロジェクト情報を表示
140
-
141
- ### ターミナルで切り替え
142
-
143
- ターミナルでプロジェクトを切り替える場合:
144
-
145
- ```bash
146
- # リポジトリルートに移動
147
- cd /path/to/repository
148
-
149
- # プロジェクトAに切り替え
150
- cd projects/20240115-payment-api
151
-
152
- # プロジェクト情報を確認
153
- cat .kiro/project.json
154
-
155
- # プロジェクトBに切り替え
156
- cd ../20240310-analytics-api
157
-
158
- # プロジェクト情報を確認
159
- cat .kiro/project.json
160
- ```
161
-
162
- **ショートカット**:
163
- ```bash
164
- # プロジェクトディレクトリへのエイリアスを設定(.zshrc または .bashrc)
165
- alias pj-a='cd /path/to/repository/projects/20240115-payment-api'
166
- alias pj-b='cd /path/to/repository/projects/20240310-analytics-api'
167
-
168
- # 使用例
169
- pj-a
170
- cat .kiro/project.json
171
- ```
172
-
173
- ### 切り替え後の確認
174
-
175
- プロジェクト切り替え後、以下のコマンドで正しく切り替わったか確認:
176
-
177
- ```bash
178
- # 現在のディレクトリを確認
179
- pwd
180
-
181
- # プロジェクト情報を表示
182
- cat .kiro/project.json
183
-
184
- # プロジェクトIDを確認
185
- cat .kiro/project.json | jq .projectId
186
-
187
- # 仕様書の一覧を確認
188
- ls -la .kiro/specs/
189
- ```
190
-
191
- ### よくあるトラブル
192
-
193
- #### プロジェクトが見つからない
194
-
195
- **症状**: `/kiro:project-switch`でエラーが発生する
196
-
197
- **原因と解決方法**:
198
- 1. プロジェクトディレクトリが存在するか確認
199
- ```bash
200
- ls -la projects/
201
- ```
202
-
203
- 2. プロジェクトIDが正しいか確認
204
- ```bash
205
- cat projects/20240115-payment-api/.kiro/project.json | grep projectId
206
- ```
207
-
208
- 3. パスが正しいか確認(絶対パスまたはリポジトリルートからの相対パス)
209
-
210
- #### `.kiro/project.json`が見つからない
211
-
212
- **症状**: プロジェクトディレクトリに移動したが、`.kiro/project.json`が存在しない
213
-
214
- **解決方法**:
215
- 1. プロジェクトディレクトリが正しいか確認
216
- 2. `.kiro/project.json`を作成([新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md)を参照)
217
-
218
- ## プロジェクト横断操作
219
-
220
- ### すべてのプロジェクトを一覧表示
221
-
222
- ```bash
223
- michi project:list
224
- ```
225
-
226
- 出力例:
227
- ```
228
- 📋 プロジェクト一覧:
229
-
230
- | プロジェクト | ID | ステータス | JIRA | チーム |
231
- |------------|-------|----------|------|--------|
232
- | Michi | michi | active | MICHI | @developer1 |
233
- | プロジェクトA サービス1 | 20240115-payment-api | active | PRJA | @dev1, @dev2 |
234
- | プロジェクトB API | 20240310-analytics-api | active | PRJB | @dev3 |
235
-
236
- 合計: 3 プロジェクト
237
- ```
238
-
239
- ### リソースダッシュボード生成
240
-
241
- ```bash
242
- michi project:dashboard
243
- ```
244
-
245
- Confluenceに「プロジェクトリソースダッシュボード」ページを作成します。
246
-
247
- ### プロジェクト横断見積もり集計
248
-
249
- ```bash
250
- npm run multi-estimate
251
- ```
252
-
253
- すべてのプロジェクトの見積もりを集計し、Excelファイルに出力します。
254
-
255
- ## Confluenceダッシュボード
256
-
257
- ### プロジェクト一覧ページ
258
-
259
- Confluenceで作成:
260
-
261
- **ページタイトル**: プロジェクト一覧
262
-
263
- **コンテンツ**:
264
- ```
265
- {report-table:space=PRD|label=requirements|columns=title,labels,status}
266
- ```
267
-
268
- **フィルタ例**:
269
- - プロジェクトAのみ: `label = "project:20240115-payment-api"`
270
- - レビュー待ち: `status = "レビュー待ち"`
271
- - 設計フェーズ: `label = "design"`
272
-
273
- ### JIRAダッシュボード
274
-
275
- **フィルタ**:
276
- ```
277
- project IN (MICHI, PRJA, PRJB) AND status IN ("In Progress", "In Review")
278
- ```
279
-
280
- **グルーピング**: プロジェクトキー別
281
-
282
- **集計**: ストーリーポイント合計
283
-
284
- ## プロジェクト間の依存関係
285
-
286
- プロジェクトは基本的に独立していますが、共通基盤がある場合:
287
-
288
- ### 共通ライブラリプロジェクト
289
-
290
- ```
291
- shared-infrastructure/
292
- └── .kiro/
293
- └── project.json
294
- {
295
- "projectId": "shared-infra",
296
- "projectName": "共通基盤",
297
- "jiraProjectKey": "INFRA",
298
- ...
299
- }
300
- ```
301
-
302
- ### 依存関係の記述
303
-
304
- 各プロジェクトの `.kiro/project.json` に追加:
305
- ```json
306
- {
307
- "dependencies": ["shared-infra"],
308
- "dependents": ["20240115-payment-api", "20240310-analytics-api"]
309
- }
310
- ```
311
-
312
- ## ベストプラクティス
313
-
314
- ### 命名規則の統一
315
-
316
- **プロジェクトID**: `{YYYYMMDD}-{PJ名}`
317
- - 例: `20240115-payment-api`, `20240201-user-management`
318
- - 形式: `YYYYMMDD-{kebab-case-name}`
319
- - 開始日はプロジェクト開始日(YYYYMMDD形式、ハイフンなし)
320
- - プロジェクトディレクトリ名としても使用
321
-
322
- **JIRA プロジェクトキー**: 3-4文字
323
- - 例: `PRJA`, `PRJB`, `MICHI`
324
-
325
- **Confluenceラベル**: `project:{projectId}, service:{service}`
326
- - 例: `project:20240115-payment-api, service:payment`
327
-
328
- **ラベル生成ロジック**: 詳細は [新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md#ラベル生成ロジック) を参照してください。
329
- ### チーム構成の明確化
330
-
331
- 各プロジェクトの `team` フィールドに担当者を記載:
332
- ```json
333
- {
334
- "team": ["@tech-lead", "@frontend-dev", "@backend-dev"]
335
- }
336
- ```
337
-
338
- ### ステータス管理
339
-
340
- プロジェクトのステータスを適切に更新:
341
- - `active`: 開発中
342
- - `maintenance`: 保守フェーズ
343
- - `completed`: 完了
344
- - `inactive`: 休止中
345
-
346
- ## トラブルシューティング
347
-
348
- ### プロジェクトが一覧に表示されない
349
-
350
- `.kiro/project.json` が正しく作成されているか確認:
351
- ```bash
352
- cat .kiro/project.json
353
- ```
354
-
355
- ### Confluenceで他のプロジェクトが見える
356
-
357
- ラベルでフィルタリング:
358
- ```
359
- label = "project:michi"
360
- ```
361
-
362
- ### JIRA チケットが混在
363
-
364
- プロジェクトキーでフィルタリング:
365
- ```
366
- project = MICHI
367
- ```
368
-