@sk8metal/michi-cli 0.0.4 → 0.0.5

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 (44) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +24 -25
  3. package/dist/scripts/config-interactive.d.ts +1 -1
  4. package/dist/scripts/config-interactive.d.ts.map +1 -1
  5. package/dist/scripts/config-interactive.js +4 -4
  6. package/dist/scripts/config-interactive.js.map +1 -1
  7. package/dist/scripts/confluence-sync.js +2 -2
  8. package/dist/scripts/confluence-sync.js.map +1 -1
  9. package/dist/scripts/create-project.d.ts +2 -2
  10. package/dist/scripts/create-project.js +2 -2
  11. package/dist/scripts/jira-sync.js +3 -3
  12. package/dist/scripts/jira-sync.js.map +1 -1
  13. package/dist/scripts/utils/__tests__/config-loader.test.d.ts +5 -0
  14. package/dist/scripts/utils/__tests__/config-loader.test.d.ts.map +1 -0
  15. package/dist/scripts/utils/__tests__/config-loader.test.js +201 -0
  16. package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -0
  17. package/dist/scripts/utils/__tests__/config-validator.test.js +29 -16
  18. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  19. package/dist/scripts/utils/config-loader.d.ts +4 -0
  20. package/dist/scripts/utils/config-loader.d.ts.map +1 -1
  21. package/dist/scripts/utils/config-loader.js +24 -2
  22. package/dist/scripts/utils/config-loader.js.map +1 -1
  23. package/dist/scripts/utils/config-validator.js +8 -9
  24. package/dist/scripts/utils/config-validator.js.map +1 -1
  25. package/dist/src/cli.js +2 -2
  26. package/dist/src/cli.js.map +1 -1
  27. package/docs/config-reference.md +76 -197
  28. package/docs/customization-guide.md +61 -9
  29. package/docs/multi-project.md +157 -25
  30. package/docs/new-project-setup.md +36 -36
  31. package/docs/quick-reference.md +23 -20
  32. package/docs/setup.md +5 -3
  33. package/env.example +3 -1
  34. package/package.json +1 -1
  35. package/scripts/config-interactive.ts +4 -3
  36. package/scripts/confluence-sync.ts +2 -2
  37. package/scripts/create-project.ts +4 -4
  38. package/scripts/jira-sync.ts +3 -3
  39. package/scripts/setup-existing.sh +1 -1
  40. package/scripts/utils/__tests__/config-loader.test.ts +254 -0
  41. package/scripts/utils/__tests__/config-validator.test.ts +32 -16
  42. package/scripts/utils/config-loader.ts +30 -2
  43. package/scripts/utils/config-validator.ts +8 -8
  44. package/docs/testing.md +0 -202
@@ -8,22 +8,30 @@ Michiは、複数プロジェクト(3-5案件)を同時並行で管理でき
8
8
 
9
9
  ## アーキテクチャ
10
10
 
11
- ### マイクロサービス構成
12
-
13
- ```
14
- organization/
15
- ├── customer-a-service-1/ ← A社 サービス1
16
- │ └── .kiro/
17
- ├── project.json
18
- └── specs/
19
- ├── customer-a-service-2/ ← A社 サービス2
20
- └── .kiro/
21
- ├── customer-b-api/ ← B社 API
22
- └── .kiro/
23
- └── michi/ ← 統合ハブ(本プロジェクト)
11
+ ### プロジェクト構成
12
+
13
+ **構成**: 1つのリポジトリ内で複数プロジェクトを管理します。各プロジェクトは独立したディレクトリに配置され、それぞれに`.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
+ └── michi/ ← 統合ハブ(オプション)
24
27
  └── .kiro/
25
28
  ```
26
29
 
30
+ **プロジェクト識別方法**:
31
+ - 各プロジェクトディレクトリに`.kiro/project.json`を配置
32
+ - 作業ディレクトリ(`process.cwd()`)から`.kiro/project.json`を読み込んでプロジェクトを識別
33
+ - プロジェクト切り替えは、該当ディレクトリに移動するだけ
34
+
27
35
  ### 統合管理
28
36
 
29
37
  **Confluence**: 共有スペース(PRD, QA, RELEASE)
@@ -31,8 +39,8 @@ organization/
31
39
  - プロジェクト横断ダッシュボード
32
40
 
33
41
  **JIRA**: プロジェクトキー別
34
- - PRJAA社案件)
35
- - PRJBB社案件)
42
+ - PRJA(プロジェクトA
43
+ - PRJB(プロジェクトB
36
44
  - MICHI(統合ハブ)
37
45
 
38
46
  ## プロジェクトのセットアップ
@@ -46,9 +54,11 @@ organization/
46
54
  2. 新規リポジトリ作成: `npm run create-project -- --name <id> --project-name <name> --jira-key <key>`
47
55
 
48
56
  **マルチプロジェクト特有の注意点**:
49
- - 各プロジェクトは独立したリポジトリで管理
57
+ - 1つのリポジトリ内で複数プロジェクトを管理
58
+ - 各プロジェクトは独立したディレクトリに配置
50
59
  - `.kiro/project.json`でプロジェクトを識別
51
60
  - Confluenceラベルでプロジェクト横断検索が可能
61
+ - プロジェクト切り替えは、該当ディレクトリに移動するだけ
52
62
 
53
63
  ### 環境変数設定
54
64
 
@@ -70,19 +80,138 @@ npx @michi/cli phase:run test-feature requirements
70
80
 
71
81
  ## プロジェクト切り替え
72
82
 
83
+ ### 現在のプロジェクトを確認
84
+
85
+ 作業中のプロジェクトを確認するには:
86
+
87
+ ```bash
88
+ # 現在のディレクトリを確認
89
+ pwd
90
+
91
+ # プロジェクト情報を表示
92
+ cat .kiro/project.json
93
+
94
+ # プロジェクトIDのみ表示
95
+ cat .kiro/project.json | grep projectId
96
+ ```
97
+
73
98
  ### Cursorで切り替え
74
99
 
100
+ Cursor IDE内でプロジェクトを切り替える場合:
101
+
102
+ **対話式切り替え(推奨)**:
75
103
  ```
76
- /kiro:project-switch customer-a-service-1
104
+ /kiro:project-switch
77
105
  ```
78
106
 
107
+ パラメータを指定しない場合、リポジトリ内のプロジェクトリストが表示され、対話的に選択できます:
108
+
109
+ ```
110
+ 📋 利用可能なプロジェクト:
111
+ 1. 20240115-payment-api (プロジェクトA サービス1) [active]
112
+ 2. 20240201-user-management (プロジェクトA サービス2) [active]
113
+ 3. 20240310-analytics-api (プロジェクトB API) [active]
114
+
115
+ 選択してください (1-3): 1
116
+
117
+ ✅ プロジェクト切り替え: 20240115-payment-api
118
+ 📁 ディレクトリ: projects/20240115-payment-api
119
+
120
+ プロジェクト情報:
121
+ 名前: プロジェクトA サービス1
122
+ JIRA: PRJA
123
+ Confluence Labels: project:20240115-payment-api, service:payment
124
+ ステータス: active
125
+ ```
126
+
127
+ **直接指定**:
128
+ ```
129
+ /kiro:project-switch 20240115-payment-api
130
+ ```
131
+
132
+ **実行内容**:
133
+ 1. プロジェクトIDに対応するディレクトリを特定(`projects/20240115-payment-api`)
134
+ 2. 該当ディレクトリに移動(Cursorの作業ディレクトリを変更)
135
+ 3. `.kiro/project.json` を読み込んで表示
136
+ 4. プロジェクト情報を表示
137
+
79
138
  ### ターミナルで切り替え
80
139
 
140
+ ターミナルでプロジェクトを切り替える場合:
141
+
81
142
  ```bash
82
- cd ~/work/projects/customer-a-service-1
143
+ # リポジトリルートに移動
144
+ cd /path/to/repository
145
+
146
+ # プロジェクトAに切り替え
147
+ cd projects/20240115-payment-api
148
+
149
+ # プロジェクト情報を確認
150
+ cat .kiro/project.json
151
+
152
+ # プロジェクトBに切り替え
153
+ cd ../20240310-analytics-api
154
+
155
+ # プロジェクト情報を確認
156
+ cat .kiro/project.json
157
+ ```
158
+
159
+ **ショートカット**:
160
+ ```bash
161
+ # プロジェクトディレクトリへのエイリアスを設定(.zshrc または .bashrc)
162
+ alias pj-a='cd /path/to/repository/projects/20240115-payment-api'
163
+ alias pj-b='cd /path/to/repository/projects/20240310-analytics-api'
164
+
165
+ # 使用例
166
+ pj-a
83
167
  cat .kiro/project.json
84
168
  ```
85
169
 
170
+ ### 切り替え後の確認
171
+
172
+ プロジェクト切り替え後、以下のコマンドで正しく切り替わったか確認:
173
+
174
+ ```bash
175
+ # 現在のディレクトリを確認
176
+ pwd
177
+
178
+ # プロジェクト情報を表示
179
+ cat .kiro/project.json
180
+
181
+ # プロジェクトIDを確認
182
+ cat .kiro/project.json | jq .projectId
183
+
184
+ # 仕様書の一覧を確認
185
+ ls -la .kiro/specs/
186
+ ```
187
+
188
+ ### よくあるトラブル
189
+
190
+ #### プロジェクトが見つからない
191
+
192
+ **症状**: `/kiro:project-switch`でエラーが発生する
193
+
194
+ **原因と解決方法**:
195
+ 1. プロジェクトディレクトリが存在するか確認
196
+ ```bash
197
+ ls -la projects/
198
+ ```
199
+
200
+ 2. プロジェクトIDが正しいか確認
201
+ ```bash
202
+ cat projects/20240115-payment-api/.kiro/project.json | grep projectId
203
+ ```
204
+
205
+ 3. パスが正しいか確認(絶対パスまたはリポジトリルートからの相対パス)
206
+
207
+ #### `.kiro/project.json`が見つからない
208
+
209
+ **症状**: プロジェクトディレクトリに移動したが、`.kiro/project.json`が存在しない
210
+
211
+ **解決方法**:
212
+ 1. プロジェクトディレクトリが正しいか確認
213
+ 2. `.kiro/project.json`を作成([新規プロジェクトセットアップガイド](./new-project-setup.md)を参照)
214
+
86
215
  ## プロジェクト横断操作
87
216
 
88
217
  ### すべてのプロジェクトを一覧表示
@@ -98,8 +227,8 @@ npm run project:list
98
227
  | プロジェクト | ID | ステータス | JIRA | チーム |
99
228
  |------------|-------|----------|------|--------|
100
229
  | Michi | michi | active | MICHI | @developer1 |
101
- | A サービス1 | customer-a-service-1 | active | PRJA | @dev1, @dev2 |
102
- | B API | customer-b-api | active | PRJB | @dev3 |
230
+ | プロジェクトA サービス1 | 20240115-payment-api | active | PRJA | @dev1, @dev2 |
231
+ | プロジェクトB API | 20240310-analytics-api | active | PRJB | @dev3 |
103
232
 
104
233
  合計: 3 プロジェクト
105
234
  ```
@@ -134,7 +263,7 @@ Confluenceで作成:
134
263
  ```
135
264
 
136
265
  **フィルタ例**:
137
- - A社案件のみ: `label = "project:a"`
266
+ - プロジェクトAのみ: `label = "project:20240115-payment-api"`
138
267
  - レビュー待ち: `status = "レビュー待ち"`
139
268
  - 設計フェーズ: `label = "design"`
140
269
 
@@ -173,7 +302,7 @@ shared-infrastructure/
173
302
  ```json
174
303
  {
175
304
  "dependencies": ["shared-infra"],
176
- "dependents": ["customer-a-service-1", "customer-b-api"]
305
+ "dependents": ["20240115-payment-api", "20240310-analytics-api"]
177
306
  }
178
307
  ```
179
308
 
@@ -181,14 +310,17 @@ shared-infrastructure/
181
310
 
182
311
  ### 命名規則の統一
183
312
 
184
- **プロジェクトID**: `customer-{id}-{service}`
185
- - 例: `customer-a-service-1`, `customer-b-api`
313
+ **プロジェクトID**: `{YYYYMMDD}-{PJ名}`
314
+ - 例: `20240115-payment-api`, `20240201-user-management`
315
+ - 形式: `YYYYMMDD-{kebab-case-name}`
316
+ - 開始日はプロジェクト開始日(YYYYMMDD形式、ハイフンなし)
317
+ - プロジェクトディレクトリ名としても使用
186
318
 
187
319
  **JIRA プロジェクトキー**: 3-4文字
188
320
  - 例: `PRJA`, `PRJB`, `MICHI`
189
321
 
190
322
  **Confluenceラベル**: `project:{projectId}, service:{service}`
191
- - 例: `project:customer-a-service-1, service:s1`
323
+ - 例: `project:20240115-payment-api, service:payment`
192
324
 
193
325
  **ラベル生成ロジック**: 詳細は [新規プロジェクトセットアップガイド](./new-project-setup.md#ラベル生成ロジック) を参照してください。
194
326
  ### チーム構成の明確化
@@ -22,8 +22,8 @@ npm run create-project -- \
22
22
 
23
23
  # 具体例
24
24
  npm run create-project -- \
25
- --name "customer-a-service-1" \
26
- --project-name "A社 サービス1" \
25
+ --name "20240115-payment-api" \
26
+ --project-name "プロジェクトA" \
27
27
  --jira-key "PRJA"
28
28
  ```
29
29
 
@@ -91,24 +91,24 @@ cursor .
91
91
 
92
92
  ```bash
93
93
  # GitHub CLI で新規リポジトリ作成
94
- gh repo create your-org/customer-a-service-1 --private --description "A社 サービス1"
94
+ gh repo create your-org/20240115-payment-api --private --description "プロジェクトA"
95
95
 
96
96
  # ローカルにクローン
97
97
  cd ~/work/projects
98
- jj git clone https://github.com/your-org/customer-a-service-1
99
- cd customer-a-service-1
98
+ jj git clone https://github.com/your-org/20240115-payment-api
99
+ cd 20240115-payment-api
100
100
  ```
101
101
 
102
102
  #### Git を使用する場合
103
103
 
104
104
  ```bash
105
105
  # GitHub CLI で新規リポジトリ作成
106
- gh repo create your-org/customer-a-service-1 --private --description "A社 サービス1"
106
+ gh repo create your-org/20240115-payment-api --private --description "プロジェクトA"
107
107
 
108
108
  # ローカルにクローン
109
109
  cd ~/work/projects
110
- git clone https://github.com/your-org/customer-a-service-1
111
- cd customer-a-service-1
110
+ git clone https://github.com/your-org/20240115-payment-api
111
+ cd 20240115-payment-api
112
112
  ```
113
113
 
114
114
  ### Step 2: cc-sdd 導入
@@ -128,15 +128,15 @@ npx cc-sdd@latest --cursor --lang ja --yes
128
128
 
129
129
  ```json
130
130
  {
131
- "projectId": "customer-a-service-1",
132
- "projectName": "A社 サービス1",
131
+ "projectId": "20240115-payment-api",
132
+ "projectName": "プロジェクトA",
133
133
  "jiraProjectKey": "PRJA",
134
- "confluenceLabels": ["project:customer-a-service-1", "service:s1"],
134
+ "confluenceLabels": ["project:20240115-payment-api", "service:payment"],
135
135
  "status": "active",
136
136
  "team": ["@dev1", "@dev2"],
137
137
  "stakeholders": ["@企画", "@部長"],
138
- "repository": "https://github.com/your-org/customer-a-service-1",
139
- "description": "A社向けサービス1の開発"
138
+ "repository": "https://github.com/your-org/20240115-payment-api",
139
+ "description": "プロジェクトA向け決済APIの開発"
140
140
  }
141
141
  ```
142
142
 
@@ -152,12 +152,12 @@ npx cc-sdd@latest --cursor --lang ja --yes
152
152
  - **プロジェクトラベル**: `project:{projectId}` を常に生成
153
153
  - **サービスラベル**: ハイフン(`-`)が含まれる場合のみ生成
154
154
  - ハイフンがない場合: `project:michi` のみ(サービスラベルなし)
155
- - ハイフンがある場合: `project:customer-a-service-1, service:s1`
155
+ - ハイフンがある場合: `project:20240115-payment-api, service:payment`
156
156
  - 重複防止: サービスラベルがプロジェクトラベルと同一の場合は追加しない
157
157
 
158
158
  **動作例**:
159
159
  - `projectId: 'michi'` → `['project:michi']`(サービスラベルなし)
160
- - `projectId: 'customer-a-service-1'` → `['project:customer-a-service-1', 'service:s1']`
160
+ - `projectId: '20240115-payment-api'` → `['project:20240115-payment-api', 'service:payment']`
161
161
  - `projectId: 'michi-service'` → `['project:michi-service']`(サービスラベルがプロジェクトラベルと同一のため追加しない)
162
162
  ### Step 4: Michiから共通設定をコピー
163
163
 
@@ -198,7 +198,7 @@ ATLASSIAN_API_TOKEN=your-token-here
198
198
  # GitHub設定
199
199
  GITHUB_ORG=your-org
200
200
  GITHUB_TOKEN=ghp_xxx
201
- GITHUB_REPO=your-org/customer-a-service-1
201
+ GITHUB_REPO=your-org/20240115-payment-api
202
202
 
203
203
  # Confluence共有スペース
204
204
  CONFLUENCE_PRD_SPACE=PRD
@@ -248,7 +248,7 @@ npm run type-check
248
248
  # Git初期化(まだの場合)
249
249
  git init
250
250
  git branch -M main
251
- git remote add origin https://github.com/your-org/customer-a-service-1.git
251
+ git remote add origin https://github.com/your-org/20240115-payment-api.git
252
252
  ```
253
253
 
254
254
  ### Step 8: 初期コミット
@@ -344,9 +344,9 @@ gh pr create --head <project-id>/feature/<feature> --base main
344
344
  # 具体例
345
345
  /kiro:spec-impl user-auth FE-1,BE-1
346
346
  jj commit -m "feat: 実装 [PRJA-123]"
347
- jj bookmark create customer-a-service-1/feature/user-auth -r '@-'
348
- jj git push --bookmark customer-a-service-1/feature/user-auth --allow-new
349
- gh pr create --head customer-a-service-1/feature/user-auth --base main
347
+ jj bookmark create 20240115-payment-api/feature/user-auth -r '@-'
348
+ jj git push --bookmark 20240115-payment-api/feature/user-auth --allow-new
349
+ gh pr create --head 20240115-payment-api/feature/user-auth --base main
350
350
  ```
351
351
 
352
352
  #### Git を使用する場合
@@ -410,11 +410,11 @@ gh pr create --head <project-id>/feature/<feature> --base main
410
410
 
411
411
  # 具体例
412
412
  /kiro:spec-impl user-auth FE-1,BE-1
413
- git checkout -b customer-a-service-1/feature/user-auth
413
+ git checkout -b 20240115-payment-api/feature/user-auth
414
414
  git add .
415
415
  git commit -m "feat: 実装 [PRJA-123]"
416
- git push -u origin customer-a-service-1/feature/user-auth
417
- gh pr create --head customer-a-service-1/feature/user-auth --base main
416
+ git push -u origin 20240115-payment-api/feature/user-auth
417
+ gh pr create --head 20240115-payment-api/feature/user-auth --base main
418
418
  ```
419
419
 
420
420
  ## プロジェクト間の切り替え
@@ -422,17 +422,17 @@ gh pr create --head customer-a-service-1/feature/user-auth --base main
422
422
  ### Cursor で切り替え
423
423
 
424
424
  ```text
425
- /kiro:project-switch customer-a-service-1
425
+ /kiro:project-switch 20240115-payment-api
426
426
  ```
427
427
 
428
428
  ### ターミナルで切り替え
429
429
 
430
430
  ```bash
431
431
  # プロジェクトAに切り替え
432
- cd ~/work/projects/customer-a-service-1
432
+ cd ~/work/projects/20240115-payment-api
433
433
 
434
434
  # プロジェクトBに切り替え
435
- cd ~/work/projects/customer-b-api
435
+ cd ~/work/projects/20240201-user-management
436
436
 
437
437
  # Michiハブに戻る
438
438
  cd ~/work/projects/michi
@@ -455,8 +455,8 @@ npm run project:list
455
455
  | プロジェクト | ID | ステータス | JIRA | チーム |
456
456
  |------------|-------|----------|------|--------|
457
457
  | Michi | michi | active | MICHI | @developer1 |
458
- | A サービス1 | customer-a-service-1 | active | PRJA | @dev1, @dev2 |
459
- | B社 API | customer-b-api | active | PRJB | @dev3 |
458
+ | プロジェクトA | 20240115-payment-api | active | PRJA | @dev1, @dev2 |
459
+ | プロジェクトC | 20240310-analytics-api | active | PRJB | @dev3 |
460
460
  ```
461
461
 
462
462
  ## トラブルシューティング
@@ -483,17 +483,17 @@ npx cc-sdd@latest --cursor --lang ja --yes
483
483
 
484
484
  ### プロジェクト命名規則
485
485
 
486
- **リポジトリ名**: `customer-{id}-{service}`
487
- - 例: `customer-a-service-1`, `customer-b-api`, `customer-c-poc`
486
+ **リポジトリ名**: `{YYYYMMDD}-{PJ名}`
487
+ - 例: `20240115-payment-api`, `20240201-user-management`, `20240310-analytics-api`
488
488
 
489
489
  **プロジェクトID**: リポジトリ名と同じ
490
- - 例: `customer-a-service-1`
490
+ - 例: `20240115-payment-api`
491
491
 
492
492
  **JIRA プロジェクトキー**: 3-4文字、一意
493
493
  - 例: `PRJA`, `PRJB`, `PRJC`
494
494
 
495
495
  **Confluenceラベル**: `project:{projectId}, service:{service}`
496
- - 例: `["project:customer-a-service-1", "service:s1"]`
496
+ - 例: `["project:20240115-payment-api", "service:payment"]`
497
497
 
498
498
  ### チーム構成
499
499
 
@@ -522,10 +522,10 @@ npx cc-sdd@latest --cursor --lang ja --yes
522
522
 
523
523
  ```bash
524
524
  # ターミナル1: プロジェクトA
525
- cd ~/work/projects/customer-a-service-1
525
+ cd ~/work/projects/20240115-payment-api
526
526
 
527
527
  # ターミナル2: プロジェクトB
528
- cd ~/work/projects/customer-b-api
528
+ cd ~/work/projects/20240201-user-management
529
529
 
530
530
  # ターミナル3: Michiハブ(横断操作用)
531
531
  cd ~/work/projects/michi
@@ -539,8 +539,8 @@ cd ~/work/projects/michi
539
539
  {
540
540
  "folders": [
541
541
  { "path": "../michi" },
542
- { "path": "../customer-a-service-1" },
543
- { "path": "../customer-b-api" }
542
+ { "path": "../20240115-payment-api" },
543
+ { "path": "../20240201-user-management" }
544
544
  ],
545
545
  "settings": {
546
546
  "files.associations": {
@@ -30,15 +30,15 @@ npm run create-project -- \
30
30
 
31
31
  # 具体例
32
32
  npm run create-project -- \
33
- --name "customer-a-service-1" \
34
- --project-name "A社 サービス1" \
33
+ --name "20240115-payment-api" \
34
+ --project-name "プロジェクトA" \
35
35
  --jira-key "PRJA"
36
36
  ```
37
37
 
38
38
  **リポジトリ名**: `--name`で指定した値がそのままGitHubリポジトリ名として使用されます。
39
39
 
40
40
  **例**:
41
- - `--name "customer-a-service-1"` → GitHubリポジトリ: `org/customer-a-service-1`
41
+ - `--name "20240115-payment-api"` → GitHubリポジトリ: `org/20240115-payment-api`
42
42
  - `--name "payment-api"` → GitHubリポジトリ: `org/payment-api`
43
43
 
44
44
  **注意**: リポジトリ名はkebab-case(小文字、ハイフン区切り)を推奨します。
@@ -113,19 +113,22 @@ jj git push --bookmark <project-id>/feature/<feature> --allow-new
113
113
  gh pr create --head <project-id>/feature/<feature> --base init
114
114
  ```
115
115
 
116
- ## Cursorコマンド一覧
117
-
118
- | コマンド | 説明 |
119
- |---------|------|
120
- | `/kiro:spec-init <description>` | 仕様初期化 |
121
- | `/kiro:spec-requirements <feature>` | 要件定義生成 |
122
- | `/kiro:spec-design <feature>` | 設計生成 |
123
- | `/kiro:spec-tasks <feature>` | タスク分割 |
124
- | `/kiro:spec-impl <feature> <tasks>` | TDD実装 |
125
- | `/kiro:spec-status <feature>` | 進捗確認 |
126
- | `/kiro:steering` | Steering作成/更新 |
127
- | `/kiro:confluence-sync <feature> [type]` | Confluence同期 |
128
- | `/kiro:project-switch <project_id>` | プロジェクト切り替え |
116
+ ## コマンド一覧
117
+
118
+ | コマンド | 説明 | 分類 |
119
+ |---------|------|------|
120
+ | `/kiro:spec-init <description>` | 仕様初期化 | cc-sdd |
121
+ | `/kiro:spec-requirements <feature>` | 要件定義生成 | cc-sdd |
122
+ | `/kiro:spec-design <feature>` | 設計生成 | cc-sdd |
123
+ | `/kiro:spec-tasks <feature>` | タスク分割 | cc-sdd |
124
+ | `/kiro:spec-impl <feature> <tasks>` | TDD実装 | cc-sdd |
125
+ | `/kiro:spec-status <feature>` | 進捗確認 | cc-sdd |
126
+ | `/kiro:steering` | Steering作成/更新 | cc-sdd |
127
+ | `/kiro:steering-custom` | カスタムSteering作成 | cc-sdd |
128
+ | `/kiro:validate-gap <feature>` | 既存コードと要件の差異分析 | cc-sdd |
129
+ | `/kiro:validate-design <feature>` | 設計の品質レビューと検証 | cc-sdd |
130
+ | `/kiro:confluence-sync <feature> [type]` | Confluence同期 | Michi only |
131
+ | `/kiro:project-switch <project_id>` | プロジェクト切り替え | Michi only |
129
132
 
130
133
  ## Michi CLIコマンド一覧
131
134
 
@@ -141,7 +144,7 @@ gh pr create --head <project-id>/feature/<feature> --base init
141
144
  | `michi project:list` | プロジェクト一覧 |
142
145
  | `michi project:dashboard` | リソースダッシュボード生成 |
143
146
  | `michi workflow:run --feature <name>` | 統合ワークフロー実行 |
144
- | `michi config:interactive` | 対話式設定ツール(.kiro/config.json作成) |
147
+ | `michi config:interactive` | 対話式設定ツール(.michi/config.json作成) |
145
148
  | `michi config:validate` | 設定ファイルのバリデーション |
146
149
  | `michi --help` | ヘルプ表示 |
147
150
  | `michi --version` | バージョン表示 |
@@ -149,7 +152,7 @@ gh pr create --head <project-id>/feature/<feature> --base init
149
152
  **インストール方法**:
150
153
  - **npx実行(推奨)**: `npx @michi/cli <command>` - 常に最新版を使用
151
154
  - **グローバルインストール**: `npm install -g @michi/cli` 後、`michi <command>`
152
- - **ローカル開発**: `npm run michi <command>` または `tsx src/cli.ts <command>`
155
+ - **ローカル開発**: `npm run michi <command>` または `npx tsx src/cli.ts <command>`
153
156
 
154
157
  ## npmスクリプト一覧(michiリポジトリ内)
155
158
 
@@ -227,8 +230,8 @@ gh pr create --head <bookmark> --base main
227
230
 
228
231
  例:
229
232
  - `michi/feature/user-auth`
230
- - `customer-a-service-1/feature/payment`
231
- - `customer-b-api/feature/user-endpoint`
233
+ - `20240115-payment-api/feature/payment`
234
+ - `20240310-analytics-api/feature/user-endpoint`
232
235
 
233
236
  ## トラブルシューティング
234
237
 
package/docs/setup.md CHANGED
@@ -240,11 +240,13 @@ cp mcp.json.example ~/.cursor/mcp.json
240
240
 
241
241
  ## 6-2. プロジェクト固有設定ファイル(オプション)
242
242
 
243
- `.kiro/config.json` を作成することで、Confluence/JIRAの動作をカスタマイズできます。
243
+ `.michi/config.json` を作成することで、Confluence/JIRAの動作をカスタマイズできます。
244
244
 
245
245
  ### 設定ファイルの作成
246
246
 
247
- プロジェクトルートに `.kiro/config.json` を作成:
247
+ プロジェクトルートに `.michi/config.json` を作成:
248
+
249
+ **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。
248
250
 
249
251
  ```json
250
252
  {
@@ -289,7 +291,7 @@ cp mcp.json.example ~/.cursor/mcp.json
289
291
  設定値は以下の優先順位で決定されます:
290
292
 
291
293
  1. **`spec.json`**: 機能固有の設定(最優先)
292
- 2. **`.kiro/config.json`**: プロジェクト固有の設定
294
+ 2. **`.michi/config.json`**: プロジェクト固有の設定
293
295
  3. **環境変数**: システム環境変数または`.env`ファイル
294
296
  4. **デフォルト値**: スキーマで定義されたデフォルト値
295
297
 
package/env.example CHANGED
@@ -19,6 +19,8 @@ JIRA_PROJECT_KEYS=PROJECT
19
19
  # JIRA Issue Type IDs(JIRAインスタンス固有の値 - 必須)
20
20
  # JIRA管理画面(Settings > Issues > Issue types)またはREST APIで確認してください
21
21
  # REST API: GET /rest/api/3/issuetype で取得可能
22
+ # 注意: 以下の値(10036, 10037)は例です。実際のJIRAインスタンスのIssue Type IDに置き換えてください
23
+ # 一般的にJIRAのIssue Type IDは5桁の数値(例: 10036, 10037)です
22
24
  JIRA_ISSUE_TYPE_STORY=10036
23
25
  JIRA_ISSUE_TYPE_SUBTASK=10037
24
26
 
@@ -27,7 +29,7 @@ ATLASSIAN_REQUEST_DELAY=500
27
29
 
28
30
  # Story Pointsカスタムフィールド(JIRAプロジェクト固有)
29
31
  # 環境変数 JIRA_STORY_POINTS_FIELD で設定可能(例: customfield_10016)
30
- JIRA_STORY_POINTS_FIELD=customfield_10016
32
+ JIRA_STORY_POINTS_FIELD=customfield_100
31
33
 
32
34
  # Epic Linkカスタムフィールド(JIRAプロジェクト固有)
33
35
  # 環境変数 JIRA_EPIC_LINK_FIELD で設定可能(例: customfield_10014)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sk8metal/michi-cli",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "Managed Intelligent Comprehensive Hub for Integration - AI-driven development workflow automation",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * 対話式設定ツール
3
- * .kiro/config.json を対話的に作成・更新
3
+ * .michi/config.json を対話的に作成・更新
4
4
  */
5
5
 
6
6
  import { readFileSync, writeFileSync, existsSync } from 'fs';
@@ -373,7 +373,7 @@ async function main(): Promise<void> {
373
373
  try {
374
374
  console.log('🎨 Michi カスタマイズ設定ツール');
375
375
  console.log('='.repeat(60));
376
- console.log('このツールで .kiro/config.json を作成・更新できます。\n');
376
+ console.log('このツールで .michi/config.json を作成・更新できます。\n');
377
377
 
378
378
  // プロジェクトメタデータを読み込み
379
379
  let projectMeta;
@@ -387,7 +387,8 @@ async function main(): Promise<void> {
387
387
  }
388
388
 
389
389
  // 既存の設定ファイルを確認
390
- const configPath = resolve(process.cwd(), '.kiro/config.json');
390
+ const { getConfigPath } = await import('./utils/config-loader.js');
391
+ const configPath = getConfigPath();
391
392
  let existingConfig: any = null;
392
393
 
393
394
  if (existsSync(configPath)) {
@@ -10,7 +10,7 @@ import { config } from 'dotenv';
10
10
  import { loadProjectMeta, type ProjectMetadata } from './utils/project-meta.js';
11
11
  import { convertMarkdownToConfluence, createConfluencePage } from './markdown-to-confluence.js';
12
12
  import { validateFeatureNameOrThrow } from './utils/feature-name-validator.js';
13
- import { getConfig } from './utils/config-loader.js';
13
+ import { getConfig, getConfigPath } from './utils/config-loader.js';
14
14
  import { createPagesByGranularity } from './utils/confluence-hierarchy.js';
15
15
  import { validateForConfluenceSync } from './utils/config-validator.js';
16
16
 
@@ -361,7 +361,7 @@ async function syncToConfluence(
361
361
  if (validation.errors.length > 0) {
362
362
  console.error('❌ Configuration errors:');
363
363
  validation.errors.forEach(error => console.error(` ${error}`));
364
- const configPath = resolve('.kiro/config.json');
364
+ const configPath = getConfigPath();
365
365
  console.error(`\n設定ファイル: ${configPath}`);
366
366
  throw new Error('Confluence同期に必要な設定値が不足しています。上記のエラーを確認して設定を修正してください。');
367
367
  }
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * 使い方:
6
6
  * npm run create-project -- \
7
- * --name "customer-a-service-1" \
8
- * --project-name "A社 サービス1" \
7
+ * --name "20240115-payment-api" \
8
+ * --project-name "プロジェクトA" \
9
9
  * --jira-key "PRJA"
10
10
  */
11
11
 
@@ -22,8 +22,8 @@ const __dirname = dirname(__filename);
22
22
  loadDotenv();
23
23
 
24
24
  interface ProjectConfig {
25
- name: string; // リポジトリ名: customer-a-service-1
26
- projectName: string; // 表示名: A社 サービス1
25
+ name: string; // リポジトリ名: 20240115-payment-api
26
+ projectName: string; // 表示名: プロジェクトA
27
27
  jiraKey: string; // JIRAキー: PRJA
28
28
  org?: string; // GitHub組織名(デフォルト: .envから)
29
29
  labels?: string[]; // Confluenceラベル(デフォルト: 自動生成)