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