@sk8metal/michi-cli 0.10.1 → 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 (104) hide show
  1. package/README.md +77 -847
  2. package/dist/scripts/phase-runner.js +1 -1
  3. package/dist/scripts/phase-runner.js.map +1 -1
  4. package/dist/scripts/utils/multi-repo-validator.d.ts +18 -0
  5. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
  6. package/dist/scripts/utils/multi-repo-validator.js +42 -0
  7. package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
  8. package/dist/scripts/utils/tasks-format-validator.js +3 -3
  9. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  10. package/docs/README.md +20 -83
  11. package/docs/getting-started/configuration.md +379 -0
  12. package/docs/getting-started/installation.md +59 -0
  13. package/docs/getting-started/quick-start.md +76 -0
  14. package/docs/guides/ai-tools.md +311 -0
  15. package/docs/guides/atlassian-integration.md +116 -0
  16. package/docs/guides/claude-code.md +155 -0
  17. package/docs/guides/multi-repo.md +117 -0
  18. package/docs/guides/workflow.md +382 -0
  19. package/docs/reference/ai-commands.md +92 -0
  20. package/docs/reference/cli.md +756 -0
  21. package/docs/reference/environment-variables.md +192 -0
  22. package/docs/troubleshooting.md +543 -0
  23. package/package.json +1 -1
  24. package/scripts/phase-runner.ts +1 -1
  25. package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
  26. package/scripts/utils/multi-repo-validator.ts +50 -0
  27. package/scripts/utils/tasks-format-validator.ts +3 -3
  28. package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
  29. package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
  30. package/templates/claude/commands/michi/e2e-plan.md +1 -1
  31. package/templates/claude/commands/michi/spec-design.md +2 -2
  32. package/templates/claude/commands/michi/spec-tasks.md +156 -0
  33. package/templates/claude/commands/michi/test-planning.md +1 -1
  34. package/templates/claude/commands/michi/validate-design.md +3 -3
  35. package/templates/claude/commands/michi-multi-repo/impl-all.md +30 -1
  36. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +14 -1
  37. package/templates/claude/commands/michi-multi-repo/spec-review.md +16 -2
  38. package/templates/claude-agent/agents/repo-spec-executor.md +1 -1
  39. package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
  40. package/templates/claude-agent/rules/code-size-monitor.md +26 -0
  41. package/templates/claude-agent/rules/code-size-rules.md +32 -0
  42. package/templates/codex/AGENTS.override.md +1 -1
  43. package/templates/codex/rules/README.md +2 -2
  44. package/templates/cursor/commands/michi/spec-tasks.md +117 -0
  45. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
  46. package/docs/context.md +0 -59
  47. package/docs/michi-development/contributing/development.md +0 -341
  48. package/docs/michi-development/contributing/release.md +0 -365
  49. package/docs/michi-development/design/config-unification.md +0 -733
  50. package/docs/michi-development/design/design-config-current-state.md +0 -330
  51. package/docs/michi-development/design/design-config-implementation.md +0 -628
  52. package/docs/michi-development/design/design-config-migration.md +0 -952
  53. package/docs/michi-development/design/design-config-security.md +0 -771
  54. package/docs/michi-development/design/design-config-solution.md +0 -583
  55. package/docs/michi-development/design/design-config-testing.md +0 -892
  56. package/docs/michi-development/testing/manual-verification-flow.md +0 -871
  57. package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
  58. package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
  59. package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
  60. package/docs/michi-development/testing-strategy.md +0 -87
  61. package/docs/plan.md +0 -275
  62. package/docs/user-guide/getting-started/github-token-setup.md +0 -510
  63. package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
  64. package/docs/user-guide/getting-started/quick-start.md +0 -212
  65. package/docs/user-guide/getting-started/setup.md +0 -819
  66. package/docs/user-guide/guides/agent-skills-integration.md +0 -222
  67. package/docs/user-guide/guides/customization.md +0 -537
  68. package/docs/user-guide/guides/internationalization.md +0 -540
  69. package/docs/user-guide/guides/migration-guide.md +0 -138
  70. package/docs/user-guide/guides/multi-project.md +0 -368
  71. package/docs/user-guide/guides/multi-repo-guide.md +0 -1590
  72. package/docs/user-guide/guides/phase-automation.md +0 -419
  73. package/docs/user-guide/guides/workflow.md +0 -574
  74. package/docs/user-guide/hands-on/README.md +0 -142
  75. package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
  76. package/docs/user-guide/hands-on/claude-setup.md +0 -452
  77. package/docs/user-guide/hands-on/cursor-setup.md +0 -353
  78. package/docs/user-guide/hands-on/troubleshooting.md +0 -964
  79. package/docs/user-guide/hands-on/verification-checklist.md +0 -439
  80. package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -1078
  81. package/docs/user-guide/reference/config.md +0 -589
  82. package/docs/user-guide/reference/multi-repo-api.md +0 -771
  83. package/docs/user-guide/reference/quick-reference.md +0 -297
  84. package/docs/user-guide/reference/security-test-payloads.md +0 -50
  85. package/docs/user-guide/reference/tasks-template.md +0 -550
  86. package/docs/user-guide/release/ci-setup-java.md +0 -114
  87. package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
  88. package/docs/user-guide/release/ci-setup-php.md +0 -102
  89. package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
  90. package/docs/user-guide/release/ci-setup.md +0 -188
  91. package/docs/user-guide/release/release-flow.md +0 -476
  92. package/docs/user-guide/templates/test-specs/README.md +0 -173
  93. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
  94. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
  95. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
  96. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
  97. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
  98. package/docs/user-guide/testing/integration-tests.md +0 -312
  99. package/docs/user-guide/testing/tdd-cycle.md +0 -349
  100. package/docs/user-guide/testing/test-execution-flow.md +0 -396
  101. package/docs/user-guide/testing/test-failure-handling.md +0 -521
  102. package/docs/user-guide/testing/test-planning-flow.md +0 -185
  103. package/docs/user-guide/testing-strategy.md +0 -185
  104. 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
-