@sk8metal/michi-cli 0.0.4 → 0.0.6

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 (53) hide show
  1. package/CHANGELOG.md +42 -0
  2. package/README.md +66 -55
  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/README.md +93 -0
  28. package/docs/contributing/development.md +304 -0
  29. package/docs/{new-project-setup.md → getting-started/new-project-setup.md} +38 -38
  30. package/docs/getting-started/quick-start.md +145 -0
  31. package/docs/{setup.md → getting-started/setup.md} +63 -49
  32. package/docs/{customization-guide.md → guides/customization.md} +64 -12
  33. package/docs/guides/multi-project.md +365 -0
  34. package/docs/{config-reference.md → reference/config.md} +76 -197
  35. package/docs/{quick-reference.md → reference/quick-reference.md} +23 -20
  36. package/env.example +3 -1
  37. package/package.json +3 -1
  38. package/scripts/config-interactive.ts +4 -3
  39. package/scripts/confluence-sync.ts +2 -2
  40. package/scripts/create-project.ts +4 -4
  41. package/scripts/jira-sync.ts +3 -3
  42. package/scripts/set-permissions.js +29 -0
  43. package/scripts/setup-existing.sh +1 -1
  44. package/scripts/utils/__tests__/config-loader.test.ts +254 -0
  45. package/scripts/utils/__tests__/config-validator.test.ts +32 -16
  46. package/scripts/utils/config-loader.ts +30 -2
  47. package/scripts/utils/config-validator.ts +8 -8
  48. package/docs/multi-project.md +0 -233
  49. package/docs/testing.md +0 -202
  50. /package/docs/{release.md → contributing/release.md} +0 -0
  51. /package/docs/{phase-automation.md → guides/phase-automation.md} +0 -0
  52. /package/docs/{workflow.md → guides/workflow.md} +0 -0
  53. /package/docs/{tasks-template.md → reference/tasks-template.md} +0 -0
@@ -1,233 +0,0 @@
1
- # マルチプロジェクト管理ガイド
2
-
3
- > **凡例について**: `<feature>` などの記号の意味は [README.md#凡例の記号説明](../README.md#凡例の記号説明) を参照してください。
4
-
5
- ## 概要
6
-
7
- Michiは、複数プロジェクト(3-5案件)を同時並行で管理できるように設計されています。
8
-
9
- ## アーキテクチャ
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/ ← 統合ハブ(本プロジェクト)
24
- └── .kiro/
25
- ```
26
-
27
- ### 統合管理
28
-
29
- **Confluence**: 共有スペース(PRD, QA, RELEASE)
30
- - ラベルでプロジェクトを識別
31
- - プロジェクト横断ダッシュボード
32
-
33
- **JIRA**: プロジェクトキー別
34
- - PRJA(A社案件)
35
- - PRJB(B社案件)
36
- - MICHI(統合ハブ)
37
-
38
- ## プロジェクトのセットアップ
39
-
40
- ### 新規プロジェクト追加
41
-
42
- 詳細な手順は [新規プロジェクトセットアップガイド](./new-project-setup.md) を参照してください。
43
-
44
- **クイックスタート**:
45
- 1. 既存リポジトリに追加: `bash /path/to/michi/scripts/setup-existing.sh`
46
- 2. 新規リポジトリ作成: `npm run create-project -- --name <id> --project-name <name> --jira-key <key>`
47
-
48
- **マルチプロジェクト特有の注意点**:
49
- - 各プロジェクトは独立したリポジトリで管理
50
- - `.kiro/project.json`でプロジェクトを識別
51
- - Confluenceラベルでプロジェクト横断検索が可能
52
-
53
- ### 環境変数設定
54
-
55
- 各プロジェクトで`.env`ファイルを設定します。詳細は [新規プロジェクトセットアップガイド](./new-project-setup.md#step-5-環境変数設定) を参照してください。
56
-
57
- ### 動作確認
58
-
59
- セットアップ完了後、プロジェクト情報を確認します:
60
-
61
- ```bash
62
- # プロジェクト情報を表示
63
- cat .kiro/project.json
64
-
65
- # テスト機能で確認(オプション)
66
- /kiro:spec-init テスト機能
67
- /kiro:spec-requirements test-feature
68
- npx @michi/cli phase:run test-feature requirements
69
- ```
70
-
71
- ## プロジェクト切り替え
72
-
73
- ### Cursorで切り替え
74
-
75
- ```
76
- /kiro:project-switch customer-a-service-1
77
- ```
78
-
79
- ### ターミナルで切り替え
80
-
81
- ```bash
82
- cd ~/work/projects/customer-a-service-1
83
- cat .kiro/project.json
84
- ```
85
-
86
- ## プロジェクト横断操作
87
-
88
- ### すべてのプロジェクトを一覧表示
89
-
90
- ```bash
91
- npm run project:list
92
- ```
93
-
94
- 出力例:
95
- ```
96
- 📋 プロジェクト一覧:
97
-
98
- | プロジェクト | ID | ステータス | JIRA | チーム |
99
- |------------|-------|----------|------|--------|
100
- | 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 |
103
-
104
- 合計: 3 プロジェクト
105
- ```
106
-
107
- ### リソースダッシュボード生成
108
-
109
- ```bash
110
- npm run project:dashboard
111
- ```
112
-
113
- Confluenceに「プロジェクトリソースダッシュボード」ページを作成します。
114
-
115
- ### プロジェクト横断見積もり集計
116
-
117
- ```bash
118
- npm run multi-estimate
119
- ```
120
-
121
- すべてのプロジェクトの見積もりを集計し、Excelファイルに出力します。
122
-
123
- ## Confluenceダッシュボード
124
-
125
- ### プロジェクト一覧ページ
126
-
127
- Confluenceで作成:
128
-
129
- **ページタイトル**: プロジェクト一覧
130
-
131
- **コンテンツ**:
132
- ```
133
- {report-table:space=PRD|label=requirements|columns=title,labels,status}
134
- ```
135
-
136
- **フィルタ例**:
137
- - A社案件のみ: `label = "project:a"`
138
- - レビュー待ち: `status = "レビュー待ち"`
139
- - 設計フェーズ: `label = "design"`
140
-
141
- ### JIRAダッシュボード
142
-
143
- **フィルタ**:
144
- ```
145
- project IN (MICHI, PRJA, PRJB) AND status IN ("In Progress", "In Review")
146
- ```
147
-
148
- **グルーピング**: プロジェクトキー別
149
-
150
- **集計**: ストーリーポイント合計
151
-
152
- ## プロジェクト間の依存関係
153
-
154
- プロジェクトは基本的に独立していますが、共通基盤がある場合:
155
-
156
- ### 共通ライブラリプロジェクト
157
-
158
- ```
159
- shared-infrastructure/
160
- └── .kiro/
161
- └── project.json
162
- {
163
- "projectId": "shared-infra",
164
- "projectName": "共通基盤",
165
- "jiraProjectKey": "INFRA",
166
- ...
167
- }
168
- ```
169
-
170
- ### 依存関係の記述
171
-
172
- 各プロジェクトの `.kiro/project.json` に追加:
173
- ```json
174
- {
175
- "dependencies": ["shared-infra"],
176
- "dependents": ["customer-a-service-1", "customer-b-api"]
177
- }
178
- ```
179
-
180
- ## ベストプラクティス
181
-
182
- ### 命名規則の統一
183
-
184
- **プロジェクトID**: `customer-{id}-{service}`
185
- - 例: `customer-a-service-1`, `customer-b-api`
186
-
187
- **JIRA プロジェクトキー**: 3-4文字
188
- - 例: `PRJA`, `PRJB`, `MICHI`
189
-
190
- **Confluenceラベル**: `project:{projectId}, service:{service}`
191
- - 例: `project:customer-a-service-1, service:s1`
192
-
193
- **ラベル生成ロジック**: 詳細は [新規プロジェクトセットアップガイド](./new-project-setup.md#ラベル生成ロジック) を参照してください。
194
- ### チーム構成の明確化
195
-
196
- 各プロジェクトの `team` フィールドに担当者を記載:
197
- ```json
198
- {
199
- "team": ["@tech-lead", "@frontend-dev", "@backend-dev"]
200
- }
201
- ```
202
-
203
- ### ステータス管理
204
-
205
- プロジェクトのステータスを適切に更新:
206
- - `active`: 開発中
207
- - `maintenance`: 保守フェーズ
208
- - `completed`: 完了
209
- - `inactive`: 休止中
210
-
211
- ## トラブルシューティング
212
-
213
- ### プロジェクトが一覧に表示されない
214
-
215
- `.kiro/project.json` が正しく作成されているか確認:
216
- ```bash
217
- cat .kiro/project.json
218
- ```
219
-
220
- ### Confluenceで他のプロジェクトが見える
221
-
222
- ラベルでフィルタリング:
223
- ```
224
- label = "project:michi"
225
- ```
226
-
227
- ### JIRA チケットが混在
228
-
229
- プロジェクトキーでフィルタリング:
230
- ```
231
- project = MICHI
232
- ```
233
-
package/docs/testing.md DELETED
@@ -1,202 +0,0 @@
1
- # テスト・検証ガイド
2
-
3
- > **凡例について**: `<feature>` などの記号の意味は [README.md#凡例の記号説明](../README.md#凡例の記号説明) を参照してください。
4
-
5
- ## E2Eテストシナリオ
6
-
7
- ### シナリオ1: 単一機能の完全フロー
8
-
9
- 新機能「ユーザー認証」を要件定義からリリースまで実行:
10
-
11
- #### Step 1: 要件定義
12
- ```bash
13
- # 凡例
14
- /kiro:spec-init <機能説明>
15
- /kiro:spec-requirements <feature>
16
- jj commit -m "docs: <feature> 要件定義"
17
- jj git push
18
- npm run confluence:sync <feature> requirements
19
-
20
- # 具体例
21
- /kiro:spec-init OAuth 2.0を使ったユーザー認証機能
22
- /kiro:spec-requirements user-auth
23
- jj commit -m "docs: ユーザー認証 要件定義"
24
- jj git push
25
- npm run confluence:sync user-auth requirements
26
- ```
27
-
28
- **確認ポイント**:
29
- - [ ] `.kiro/specs/user-auth/requirements.md` が生成された
30
- - [ ] Confluenceページが作成された
31
- - [ ] ラベル `project:michi, requirements, user-auth` が付与された
32
- - [ ] 企画・部長にメンション通知が届いた
33
-
34
- #### Step 2: 設計
35
- ```bash
36
- # 凡例
37
- /kiro:spec-design <feature>
38
- jj commit -m "docs: <feature> 設計"
39
- jj git push
40
- npm run confluence:sync <feature> design
41
- npm run excel:sync <feature>
42
-
43
- # 具体例
44
- /kiro:spec-design user-auth
45
- jj commit -m "docs: ユーザー認証 設計"
46
- jj git push
47
- npm run confluence:sync user-auth design
48
- npm run excel:sync user-auth
49
- ```
50
-
51
- **確認ポイント**:
52
- - [ ] `.kiro/specs/user-auth/design.md` が生成された
53
- - [ ] 見積もりセクションが含まれている
54
- - [ ] Confluenceページが作成された(親: 要件定義)
55
- - [ ] Excelファイルが出力された
56
-
57
- #### Step 3: タスク分割
58
- ```bash
59
- # 凡例
60
- /kiro:spec-tasks <feature>
61
- jj commit -m "docs: <feature> タスク分割"
62
- jj git push
63
- npm run jira:sync <feature>
64
-
65
- # 具体例
66
- /kiro:spec-tasks user-auth
67
- jj commit -m "docs: ユーザー認証 タスク分割"
68
- jj git push
69
- npm run jira:sync user-auth
70
- ```
71
-
72
- **確認ポイント**:
73
- - [ ] `.kiro/specs/user-auth/tasks.md` が生成された
74
- - [ ] JIRA Epicが作成された
75
- - [ ] JIRA Storyが作成された(複数)
76
- - [ ] Epic-Storyリンクが設定された
77
-
78
- #### Step 4: 実装
79
- ```
80
- /kiro:spec-impl user-auth FE-1,BE-1
81
- jj commit -m "feat: ユーザー認証実装 [MICHI-123]"
82
- jj bookmark create michi/feature/user-auth -r '@-'
83
- jj git push --bookmark michi/feature/user-auth --allow-new
84
- npm run github:create-pr michi/feature/user-auth
85
- ```
86
-
87
- **確認ポイント**:
88
- - [ ] テストが先に書かれた(TDD)
89
- - [ ] コードが実装された
90
- - [ ] PRが作成された
91
- - [ ] JIRA ステータスが "In Review" に更新された
92
-
93
- ### シナリオ2: マルチプロジェクト横断テスト
94
-
95
- 3つのプロジェクトで同時に要件定義を実施:
96
-
97
- ```bash
98
- # プロジェクトA
99
- cd customer-a-service-1
100
- /kiro:spec-requirements payment-feature
101
- npm run confluence:sync payment-feature
102
-
103
- # プロジェクトB
104
- cd ../customer-b-api
105
- /kiro:spec-requirements user-api
106
- npm run confluence:sync user-api
107
-
108
- # プロジェクトC(Michi)
109
- cd ../michi
110
- /kiro:spec-requirements integration-hub
111
- npm run confluence:sync integration-hub
112
-
113
- # 横断確認
114
- npm run project:list
115
- npm run project:dashboard
116
- ```
117
-
118
- **確認ポイント**:
119
- - [ ] 3つのプロジェクトすべてでページ作成成功
120
- - [ ] Confluenceダッシュボードに3プロジェクト表示
121
- - [ ] ラベルでフィルタリング可能
122
- - [ ] JIRAダッシュボードに3プロジェクト表示
123
-
124
- ## チームフィードバック収集
125
-
126
- ### フィードバック項目
127
-
128
- #### 使いやすさ
129
- - [ ] Cursorコマンドは直感的か?
130
- - [ ] ドキュメントは理解しやすいか?
131
- - [ ] エラーメッセージは明確か?
132
-
133
- #### 効率性
134
- - [ ] 要件定義の時間短縮できたか?
135
- - [ ] Confluence/JIRA連携は手間を減らしたか?
136
- - [ ] 全体の開発スピードは向上したか?
137
-
138
- #### 品質
139
- - [ ] AIが生成する仕様書の品質は十分か?
140
- - [ ] テンプレートは実務に適しているか?
141
- - [ ] 見積もりの精度は妥当か?
142
-
143
- ### フィードバック方法
144
-
145
- GitHub Issuesで収集:
146
- ```bash
147
- gh issue create --title "フィードバック: <内容>" --body "<詳細>"
148
- ```
149
-
150
- ラベル:
151
- - `feedback:usability`: 使いやすさ
152
- - `feedback:efficiency`: 効率性
153
- - `feedback:quality`: 品質
154
-
155
- ## 継続的改善
156
-
157
- ### Week 1-2: パイロット運用
158
- - 1プロジェクトで全フロー実行
159
- - 問題点を記録
160
- - フィードバック収集
161
-
162
- ### Week 3-4: 改善
163
- - テンプレート調整
164
- - スクリプト改善
165
- - ドキュメント更新
166
-
167
- ### Week 5-6: 横展開
168
- - 2-3プロジェクトに展開
169
- - チーム全体でフィードバック
170
-
171
- ### Week 7-8: 最適化
172
- - ベストプラクティス確立
173
- - 自動化範囲の拡大
174
- - ツールの安定化
175
-
176
- ## メトリクス
177
-
178
- ### 効率化指標
179
-
180
- | 指標 | 導入前 | 導入後 | 改善率 |
181
- |------|--------|--------|--------|
182
- | 要件定義時間 | 3日 | 0.5日 | 83% |
183
- | 設計時間 | 5日 | 1日 | 80% |
184
- | タスク分割時間 | 2日 | 0.5日 | 75% |
185
- | ドキュメント作成 | 2日 | 0.2日 | 90% |
186
-
187
- ### 品質指標
188
-
189
- | 指標 | 目標値 | 測定方法 |
190
- |------|--------|---------|
191
- | 仕様書の完成度 | 90%以上 | レビュースコア |
192
- | 見積もり精度 | ±20%以内 | 実績との比較 |
193
- | テストカバレッジ | 95%以上 | 自動測定 |
194
-
195
- ## 次のステップ
196
-
197
- 1. パイロットプロジェクトでE2Eテスト実行
198
- 2. フィードバック収集
199
- 3. 改善実施
200
- 4. 他プロジェクトに横展開
201
- 5. ベストプラクティス確立
202
-
File without changes
File without changes