@sk8metal/michi-cli 0.0.7 → 0.0.8

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 (92) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/README.md +3 -2
  3. package/dist/scripts/__tests__/create-project.test.d.ts +2 -0
  4. package/dist/scripts/__tests__/create-project.test.d.ts.map +1 -0
  5. package/dist/scripts/__tests__/create-project.test.js +247 -0
  6. package/dist/scripts/__tests__/create-project.test.js.map +1 -0
  7. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts +2 -0
  8. package/dist/scripts/__tests__/multi-project-estimate.test.d.ts.map +1 -0
  9. package/dist/scripts/__tests__/multi-project-estimate.test.js +119 -0
  10. package/dist/scripts/__tests__/multi-project-estimate.test.js.map +1 -0
  11. package/dist/scripts/__tests__/setup-existing-project.test.d.ts +2 -0
  12. package/dist/scripts/__tests__/setup-existing-project.test.d.ts.map +1 -0
  13. package/dist/scripts/__tests__/setup-existing-project.test.js +67 -0
  14. package/dist/scripts/__tests__/setup-existing-project.test.js.map +1 -0
  15. package/dist/scripts/__tests__/setup-interactive.test.d.ts +2 -0
  16. package/dist/scripts/__tests__/setup-interactive.test.d.ts.map +1 -0
  17. package/dist/scripts/__tests__/setup-interactive.test.js +160 -0
  18. package/dist/scripts/__tests__/setup-interactive.test.js.map +1 -0
  19. package/dist/scripts/config/default-config.json +57 -0
  20. package/dist/scripts/confluence-sync.d.ts +4 -0
  21. package/dist/scripts/confluence-sync.d.ts.map +1 -1
  22. package/dist/scripts/confluence-sync.js +12 -23
  23. package/dist/scripts/confluence-sync.js.map +1 -1
  24. package/dist/scripts/create-project.js +198 -137
  25. package/dist/scripts/create-project.js.map +1 -1
  26. package/dist/scripts/jira-sync.d.ts.map +1 -1
  27. package/dist/scripts/jira-sync.js +15 -0
  28. package/dist/scripts/jira-sync.js.map +1 -1
  29. package/dist/scripts/list-projects.d.ts.map +1 -1
  30. package/dist/scripts/list-projects.js +42 -15
  31. package/dist/scripts/list-projects.js.map +1 -1
  32. package/dist/scripts/multi-project-estimate.d.ts.map +1 -1
  33. package/dist/scripts/multi-project-estimate.js +56 -21
  34. package/dist/scripts/multi-project-estimate.js.map +1 -1
  35. package/dist/scripts/resource-dashboard.d.ts.map +1 -1
  36. package/dist/scripts/resource-dashboard.js +74 -17
  37. package/dist/scripts/resource-dashboard.js.map +1 -1
  38. package/dist/scripts/setup-existing-project.js +248 -214
  39. package/dist/scripts/setup-existing-project.js.map +1 -1
  40. package/dist/scripts/setup-interactive.d.ts +10 -0
  41. package/dist/scripts/setup-interactive.d.ts.map +1 -0
  42. package/dist/scripts/setup-interactive.js +413 -0
  43. package/dist/scripts/setup-interactive.js.map +1 -0
  44. package/dist/scripts/utils/__tests__/config-validator.test.js +5 -0
  45. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  46. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts +5 -0
  47. package/dist/scripts/utils/__tests__/spec-updater.test.d.ts.map +1 -0
  48. package/dist/scripts/utils/__tests__/spec-updater.test.js +158 -0
  49. package/dist/scripts/utils/__tests__/spec-updater.test.js.map +1 -0
  50. package/dist/scripts/utils/confluence-hierarchy.d.ts +2 -1
  51. package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
  52. package/dist/scripts/utils/confluence-hierarchy.js +5 -0
  53. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
  54. package/dist/scripts/utils/project-finder.d.ts +30 -0
  55. package/dist/scripts/utils/project-finder.d.ts.map +1 -0
  56. package/dist/scripts/utils/project-finder.js +147 -0
  57. package/dist/scripts/utils/project-finder.js.map +1 -0
  58. package/dist/scripts/utils/spec-updater.d.ts +72 -0
  59. package/dist/scripts/utils/spec-updater.d.ts.map +1 -0
  60. package/dist/scripts/utils/spec-updater.js +141 -0
  61. package/dist/scripts/utils/spec-updater.js.map +1 -0
  62. package/dist/vitest.config.d.ts.map +1 -1
  63. package/dist/vitest.config.js +8 -6
  64. package/dist/vitest.config.js.map +1 -1
  65. package/docs/README.md +2 -2
  66. package/docs/contributing/development.md +37 -0
  67. package/docs/getting-started/{new-project-setup.md → new-repository-setup.md} +66 -19
  68. package/docs/getting-started/setup.md +305 -182
  69. package/docs/guides/customization.md +1 -1
  70. package/docs/guides/multi-project.md +11 -8
  71. package/docs/reference/quick-reference.md +2 -2
  72. package/docs/testing-strategy.md +87 -0
  73. package/package.json +17 -5
  74. package/scripts/__tests__/create-project.test.ts +292 -0
  75. package/scripts/__tests__/multi-project-estimate.test.ts +145 -0
  76. package/scripts/__tests__/setup-existing-project.test.ts +79 -0
  77. package/scripts/__tests__/setup-interactive.test.ts +199 -0
  78. package/scripts/confluence-sync.ts +17 -29
  79. package/scripts/copy-static-assets.js +50 -0
  80. package/scripts/create-project.ts +219 -156
  81. package/scripts/jira-sync.ts +16 -1
  82. package/scripts/list-projects.ts +51 -24
  83. package/scripts/multi-project-estimate.ts +58 -22
  84. package/scripts/resource-dashboard.ts +91 -26
  85. package/scripts/setup-existing-project.ts +264 -223
  86. package/scripts/setup-existing.sh +29 -22
  87. package/scripts/setup-interactive.ts +565 -0
  88. package/scripts/utils/__tests__/config-validator.test.ts +6 -0
  89. package/scripts/utils/__tests__/spec-updater.test.ts +220 -0
  90. package/scripts/utils/confluence-hierarchy.ts +7 -1
  91. package/scripts/utils/project-finder.ts +184 -0
  92. package/scripts/utils/spec-updater.ts +212 -0
@@ -1,5 +1,9 @@
1
1
  # Michi セットアップガイド
2
2
 
3
+ > **このガイドについて**: 既存のプロジェクトにMichiを導入する手順です。
4
+ > 新規プロジェクトを作成する場合は [新規リポジトリセットアップガイド](./new-project-setup.md) を参照してください。
5
+ > Michiの開発に貢献する場合は [開発環境セットアップガイド](../contributing/development.md) を参照してください。
6
+
3
7
  ## 前提条件
4
8
 
5
9
  - Node.js 20.x以上
@@ -9,9 +13,7 @@
9
13
  - GitHub CLI (gh) - PR作成時に使用
10
14
  - **cc-sdd**: AI駆動開発ワークフローのコアフレームワーク
11
15
 
12
- ## 1. Michiのインストール
13
-
14
- ### 方法1: NPMパッケージとしてインストール(推奨)
16
+ ## Step 1: Michi CLIのインストール
15
17
 
16
18
  ```bash
17
19
  # グローバルインストール
@@ -24,35 +26,18 @@ michi --help
24
26
 
25
27
  **注意**: 初回実行時は依存関係のダウンロードに時間がかかる場合があります。
26
28
 
27
- ### 方法2: リポジトリから使用(開発者向け)
28
-
29
- Michiの開発に貢献したい場合や、最新の開発版を使用したい場合:
30
-
31
- ```bash
32
- # リポジトリをクローン
33
- git clone https://github.com/sk8metalme/michi
34
- cd michi
29
+ > **開発者向け**: Michiの開発に貢献したい場合や、最新の開発版を使用したい場合は [開発環境セットアップガイド](../contributing/development.md) を参照してください。
35
30
 
36
- # 依存関係をインストール
37
- npm install
31
+ ## Step 2: cc-sddのインストール
38
32
 
39
- # ビルド
40
- npm run build
41
-
42
- # グローバルコマンドとしてリンク
43
- npm link
44
-
45
- # 使用
46
- michi --help
47
- ```
48
-
49
- 詳細は [開発環境セットアップガイド](../contributing/development.md)を参照してください。
50
-
51
- ## 2. cc-sddのインストール
33
+ **重要**: 作業するプロジェクトのルートディレクトリで実行してください。
52
34
 
53
35
  cc-sddは、Michiの仕様駆動開発ワークフローのコアフレームワークです。
54
36
 
55
37
  ```bash
38
+ # 作業プロジェクトのルートディレクトリに移動
39
+ cd /path/to/your-project
40
+
56
41
  # Cursor IDE を使用する場合
57
42
  npx cc-sdd@latest --lang ja --cursor
58
43
 
@@ -79,15 +64,27 @@ npx cc-sdd@next --lang ja --windsurf
79
64
 
80
65
  詳細: [cc-sdd公式ドキュメント](https://github.com/gotalab/cc-sdd/blob/main/tools/cc-sdd/README_ja.md)
81
66
 
82
- ## 3. 環境変数の設定
67
+ ## Step 3: 環境変数の設定
83
68
 
84
69
  ### 3-1. .env ファイルの作成
85
70
 
71
+ **重要**: 作業するプロジェクトのルートディレクトリで実行してください。
72
+
86
73
  ```bash
87
- # テンプレートファイルをコピー
88
- cp env.example .env
74
+ # 作業プロジェクトのルートディレクトリに移動
75
+ cd /path/to/your-project
76
+
77
+ # GitHubリポジトリから直接取得(推奨)
78
+ curl -o .env https://raw.githubusercontent.com/sk8metalme/michi/main/env.example
79
+
80
+ # または wget を使用
81
+ wget -O .env https://raw.githubusercontent.com/sk8metalme/michi/main/env.example
89
82
  ```
90
83
 
84
+ **注意**:
85
+ - `.env` ファイルは作業するプロジェクトのルートディレクトリに作成されます
86
+ - 別のディレクトリにいる場合は、まずプロジェクトルートに移動してください
87
+
91
88
  ### 3-2. 認証情報の設定
92
89
 
93
90
  `.env` ファイルを編集して、実際の認証情報を設定します:
@@ -99,9 +96,10 @@ ATLASSIAN_EMAIL=your-email@company.com
99
96
  ATLASSIAN_API_TOKEN=<ATLASSIANトークン>
100
97
 
101
98
  # GitHub設定
102
- GITHUB_ORG=sk8metal
99
+ GITHUB_ORG=your-org
103
100
  GITHUB_TOKEN=<GitHubトークン>
104
- GITHUB_REPO=sk8metalme/michi
101
+ # 開発したいリポジトリ
102
+ GITHUB_REPO=your-org/user-auth
105
103
 
106
104
  # Confluence設定
107
105
  CONFLUENCE_PRD_SPACE=PRD
@@ -112,84 +110,108 @@ CONFLUENCE_RELEASE_SPACE=RELEASE
112
110
  JIRA_PROJECT_KEYS=MICHI
113
111
 
114
112
  # JIRA Issue Type IDs(JIRAインスタンス固有の値 - 必須)
115
- # これらの値は各JIRAインスタンスで異なるため、必ず設定してください。
116
- #
117
- # 確認方法:
118
- # 1. JIRA管理画面: Settings > Issues > Issue types で確認
119
- # 2. REST API: GET https://your-domain.atlassian.net/rest/api/3/issuetype
120
- # レスポンスから "Story" と "Subtask" の "id" フィールドを取得
121
- # 例: {"id": "10036", "name": "Story", ...}
122
113
  JIRA_ISSUE_TYPE_STORY=10036
123
114
  JIRA_ISSUE_TYPE_SUBTASK=10037
124
115
 
125
116
  # Slack通知(オプション)
126
117
  SLACK_WEBHOOK_URL=<SlackWebhook URL>
127
-
128
- # ワークフロー承認ゲート(オプション)
129
- # カンマ区切りでロール名を指定。未設定の場合はデフォルト値を使用
130
- APPROVAL_GATES_REQUIREMENTS=pm,director
131
- APPROVAL_GATES_DESIGN=architect,director
132
- APPROVAL_GATES_RELEASE=sm,director
133
- ```
134
-
135
- ### 3-3. ワークフロー承認ゲートの設定(オプション)
136
-
137
- ワークフロー実行時(`michi workflow:run`)の承認ゲートで使用するロール名を設定できます。
138
-
139
- #### 設定方法
140
-
141
- `.env` ファイルに以下の環境変数を追加:
142
-
143
- ```bash
144
- # 要件定義フェーズの承認者
145
- APPROVAL_GATES_REQUIREMENTS=pm,director
146
-
147
- # 設計フェーズの承認者
148
- APPROVAL_GATES_DESIGN=architect,director
149
-
150
- # リリースフェーズの承認者
151
- APPROVAL_GATES_RELEASE=sm,director
152
118
  ```
153
119
 
154
- #### 設定例
155
-
156
- **英語ロール名を使用する場合:**
157
- ```bash
158
- APPROVAL_GATES_REQUIREMENTS=product-manager,cto,legal
159
- APPROVAL_GATES_DESIGN=tech-lead,architect,security
160
- APPROVAL_GATES_RELEASE=release-manager,qa-lead,director
161
- ```
162
-
163
- **日本語ロール名を使用する場合:**
164
- ```bash
165
- APPROVAL_GATES_REQUIREMENTS=企画,部長
166
- APPROVAL_GATES_DESIGN=アーキテクト,部長
167
- APPROVAL_GATES_RELEASE=SM,部長
168
- ```
169
-
170
- **組織固有のロール名を使用する場合:**
171
- ```bash
172
- APPROVAL_GATES_REQUIREMENTS=プロダクトマネージャー,CTO,法務
173
- APPROVAL_GATES_DESIGN=テックリード,アーキテクト,セキュリティ
174
- APPROVAL_GATES_RELEASE=リリースマネージャー,QAリード,部長
175
- ```
176
-
177
- #### デフォルト値
178
-
179
- 環境変数が設定されていない場合、以下のデフォルト値が使用されます:
180
-
181
- - `APPROVAL_GATES_REQUIREMENTS`: `pm,director`
182
- - `APPROVAL_GATES_DESIGN`: `architect,director`
183
- - `APPROVAL_GATES_RELEASE`: `sm,director`
184
-
185
- #### 注意事項
186
-
187
- - ロール名はカンマ区切りで指定します
188
- - 各ロール名の前後の空白は自動的にトリムされます
189
- - 空のロール名は無視されます
190
- - 環境変数が未設定の場合は、デフォルト値が使用されます
191
-
192
- ### 3-4. 認証トークンの取得方法
120
+ #### 各設定値の確認方法
121
+
122
+ ##### Atlassian設定
123
+
124
+ **`ATLASSIAN_URL`**
125
+ - **確認方法**: ブラウザでAtlassianにアクセスした際のURL
126
+ - **形式**: `https://your-domain.atlassian.net`
127
+ - **例**: `https://mycompany.atlassian.net`
128
+
129
+ **`ATLASSIAN_EMAIL`**
130
+ - **確認方法**: Atlassianにログインする際に使用するメールアドレス
131
+ - **形式**: メールアドレス形式
132
+ - **例**: `user@company.com`
133
+
134
+ **`ATLASSIAN_API_TOKEN`**
135
+ - **確認方法**: 3-3セクション「Atlassian API Token」を参照
136
+
137
+ ##### GitHub設定
138
+
139
+ **`GITHUB_ORG`**
140
+ - **確認方法**: GitHubの組織名またはユーザー名
141
+ - **確認手順**:
142
+ 1. GitHubにログイン
143
+ 2. 組織のページにアクセス(例: `https://github.com/your-org`)
144
+ 3. URLの `/your-org` 部分が組織名
145
+ - **例**: `sk8metal`、`mycompany`
146
+ - **使用機能**:
147
+ - プロジェクト一覧表示(`michi project:list`): 組織内の全リポジトリをスキャンしてプロジェクト情報を表示
148
+ - 複数プロジェクト見積もり集計(`michi multi-estimate`): 組織内の全リポジトリから `design.md` を取得して見積もり情報を集計
149
+ - プロジェクトリソースダッシュボード(`michi project:dashboard`): 組織内の全プロジェクト情報を集計してConfluenceダッシュボードを生成
150
+ - 新規プロジェクト作成(`michi create-project`): 新規リポジトリ作成時の組織名として使用
151
+
152
+ **`GITHUB_TOKEN`**
153
+ - **確認方法**: 3-3セクション「GitHub Token」を参照
154
+ - **使用機能**: すべてのGitHub連携機能で認証に使用(API呼び出し時の認証トークン)
155
+
156
+ **`GITHUB_REPO`**
157
+ - **確認方法**: GitHubリポジトリのURLから取得
158
+ - **確認手順**:
159
+ 1. リポジトリのページにアクセス(例: `https://github.com/org/repo`)
160
+ 2. URLの `/org/repo` 部分がリポジトリ名
161
+ - **形式**: `組織名/リポジトリ名`
162
+ - **例**: `sk8metalme/michi`
163
+ - **使用機能**:
164
+ - PR自動作成(`michi github:create-pr`): 指定されたリポジトリにPull Requestを作成(ワークフロー自動化で使用)
165
+
166
+ ##### Confluence設定
167
+
168
+ **`CONFLUENCE_PRD_SPACE`、`CONFLUENCE_QA_SPACE`、`CONFLUENCE_RELEASE_SPACE`**
169
+ - **確認方法**: Confluenceスペースのキー(スペースキー)
170
+ - **確認手順**:
171
+ 1. Confluenceにログイン
172
+ 2. スペース一覧ページにアクセス: `https://your-domain.atlassian.net/wiki/spaces`
173
+ 3. 各スペースのページにアクセス(例: `https://your-domain.atlassian.net/wiki/spaces/PRD`)
174
+ 4. URLの `/spaces/PRD` 部分の `PRD` がスペースキー
175
+ - **形式**: 大文字の英数字(通常は3-10文字)
176
+ - **例**: `PRD`、`QA`、`RELEASE`、`ENG`
177
+
178
+ ##### JIRA設定
179
+
180
+ **`JIRA_PROJECT_KEYS`**
181
+ - **確認方法**: JIRAプロジェクトのキー(プロジェクトキー)
182
+ - **確認手順**:
183
+ 1. JIRAにログイン
184
+ 2. プロジェクト一覧ページにアクセス: `https://your-domain.atlassian.net/jira/projects`
185
+ 3. 各プロジェクトのページにアクセス(例: `https://your-domain.atlassian.net/jira/projects/MICHI`)
186
+ 4. URLの `/projects/MICHI` 部分の `MICHI` がプロジェクトキー
187
+ 5. 複数のプロジェクトを使用する場合は、カンマ区切りで指定(例: `MICHI,PRJA,PRJB`)
188
+ - **形式**: 大文字の英数字(通常は2-10文字)
189
+ - **例**: `MICHI`、`PROJ`、`DEV`
190
+
191
+ **`JIRA_ISSUE_TYPE_STORY`、`JIRA_ISSUE_TYPE_SUBTASK`**
192
+ - **確認方法**: JIRAインスタンス固有のIssue Type ID
193
+ - **確認手順**:
194
+ 1. **JIRA管理画面から確認**:
195
+ - JIRAに管理者権限でログイン
196
+ - Settings(設定)> Issues(課題)> Issue types(課題タイプ)
197
+ - 「Story」と「Subtask」のIDを確認
198
+ 2. **REST APIから確認**:
199
+ ```bash
200
+ curl -u your-email@company.com:your-api-token \
201
+ https://your-domain.atlassian.net/rest/api/3/issuetype
202
+ ```
203
+ レスポンスから "Story" と "Subtask" の "id" フィールドを取得
204
+ - 例: `{"id": "10036", "name": "Story", ...}`
205
+ - **形式**: 数値(通常は5桁)
206
+ - **例**: `10036`、`10037`
207
+ - **重要**: これらの値は各JIRAインスタンスで異なるため、必ず実際の値を設定してください
208
+
209
+ ##### Slack設定(オプション)
210
+
211
+ **`SLACK_WEBHOOK_URL`**
212
+ - **確認方法**: 3-3セクション「Slack Webhook URL」を参照
213
+
214
+ ### 3-3. 認証トークンの取得方法
193
215
 
194
216
  #### Atlassian API Token
195
217
  1. https://id.atlassian.com/manage-profile/security/api-tokens にアクセス
@@ -211,16 +233,21 @@ gh auth token
211
233
  3. Incoming Webhooks を有効化
212
234
  4. Webhook URL を生成して `.env` に設定
213
235
 
214
- ## 4. Atlassian MCP サーバーの設定
236
+ ## Step 4: Atlassian MCP サーバーの設定
215
237
 
216
238
  ### 4-1. MCP設定ファイルの作成
217
239
 
218
- プロジェクトルートの `mcp.json.example` を参考に、ホームディレクトリに `~/.cursor/mcp.json` を作成:
240
+ ホームディレクトリに `~/.cursor/mcp.json` を作成:
219
241
 
220
242
  ```bash
221
- # テンプレートをコピー
243
+ # ホームディレクトリに .cursor ディレクトリを作成
222
244
  mkdir -p ~/.cursor
223
- cp mcp.json.example ~/.cursor/mcp.json
245
+
246
+ # GitHubリポジトリから直接取得
247
+ curl -o ~/.cursor/mcp.json https://raw.githubusercontent.com/sk8metalme/michi/main/mcp.json.example
248
+
249
+ # または wget を使用
250
+ wget -O ~/.cursor/mcp.json https://raw.githubusercontent.com/sk8metalme/michi/main/mcp.json.example
224
251
  ```
225
252
 
226
253
  ### 4-2. 実際の認証情報に置き換え
@@ -243,96 +270,70 @@ cp mcp.json.example ~/.cursor/mcp.json
243
270
  }
244
271
  ```
245
272
 
246
- ## 5. プロジェクトメタデータの確認
273
+ ## Step 5: プロジェクトメタデータの設定
247
274
 
248
- `.kiro/project.json` を確認・編集:
275
+ `.kiro/project.json` は、プロジェクトのメタデータ(プロジェクトID、JIRAキー、Confluenceラベルなど)を管理するファイルです。
249
276
 
250
- ```json
251
- {
252
- "projectId": "michi",
253
- "projectName": "Michi - Managed Intelligent Comprehensive Hub for Integration",
254
- "jiraProjectKey": "MICHI",
255
- "confluenceLabels": ["project:michi", "service:hub"],
256
- "status": "active",
257
- "team": ["@developer1"],
258
- "stakeholders": ["@pm", "@director"]
259
- }
260
- ```
277
+ **重要**: すべてのプロジェクト(単一プロジェクトも含む)は`projects/{project-id}/`配下に配置されます。
261
278
 
262
- ## 5-2. プロジェクト固有設定ファイル(オプション)
279
+ > **補足**: 新規プロジェクトを作成する場合や、既存プロジェクトにMichiを自動導入する場合は [新規プロジェクトセットアップガイド](./new-project-setup.md) を参照してください。
263
280
 
264
- `.michi/config.json` を作成することで、Confluence/JIRAの動作をカスタマイズできます。
281
+ ### 5-1. `.kiro/project.json` の作成
265
282
 
266
- ### 設定ファイルの作成
283
+ **重要**: 作業するプロジェクトのルートディレクトリで実行してください。
267
284
 
268
- プロジェクトルートに `.michi/config.json` を作成:
285
+ 手動で `.kiro/project.json` を作成します:
269
286
 
270
- **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。
287
+ ```bash
288
+ # プロジェクトルートに .kiro ディレクトリを作成
289
+ mkdir -p .kiro
271
290
 
272
- ```json
291
+ # project.json を作成
292
+ cat > .kiro/project.json << 'EOF'
273
293
  {
274
- "confluence": {
275
- "pageCreationGranularity": "by-hierarchy",
276
- "spaces": {
277
- "requirements": "Michi",
278
- "design": "Michi",
279
- "tasks": "Michi"
280
- },
281
- "hierarchy": {
282
- "mode": "simple",
283
- "parentPageTitle": "[{projectName}] {featureName}"
284
- }
285
- },
286
- "jira": {
287
- "createEpic": true,
288
- "storyCreationGranularity": "all",
289
- "storyPoints": "auto",
290
- "issueTypes": {
291
- "story": "10036",
292
- "subtask": "10037"
293
- }
294
- },
295
- "workflow": {
296
- "enabledPhases": ["requirements", "design", "tasks"],
297
- "approvalGates": {
298
- "requirements": ["leader", "director"],
299
- "design": ["leader", "director"],
300
- "release": ["service-manager", "director"]
301
- }
302
- }
294
+ "projectId": "your-project-id",
295
+ "projectName": "プロジェクト名",
296
+ "jiraProjectKey": "PROJ",
297
+ "confluenceLabels": ["project:your-project", "service:your-service"],
298
+ "status": "active",
299
+ "team": ["@developer1"],
300
+ "stakeholders": ["@pm", "@director"],
301
+ "repository": "https://github.com/your-org/your-repo",
302
+ "description": "プロジェクトの説明"
303
303
  }
304
+ EOF
304
305
  ```
305
306
 
306
- ### 設定値の詳細
307
-
308
- すべての設定値の詳細は [設定値リファレンス](../reference/config.md) を参照してください。
309
-
310
- ### 設定の優先順位
311
-
312
- 設定値は以下の優先順位で決定されます:
313
-
314
- 1. **`spec.json`**: 機能固有の設定(最優先)
315
- 2. **`.michi/config.json`**: プロジェクト固有の設定
316
- 3. **環境変数**: システム環境変数または`.env`ファイル
317
- 4. **デフォルト値**: スキーマで定義されたデフォルト値
318
-
319
- ### 設定のバリデーション
307
+ ### 5-2. `.kiro/project.json` の確認・編集
320
308
 
321
- 設定ファイルは実行前に自動的にバリデーションされます。手動でバリデーションを実行する場合:
309
+ 既に `.kiro/project.json` が存在する場合、または作成後に必要に応じて編集してください:
322
310
 
323
- ```bash
324
- # Michiプロジェクトディレクトリで実行
325
- npx tsx scripts/utils/config-validator.ts
326
-
327
- # または、別のプロジェクトディレクトリで実行
328
- npx tsx /path/to/michi/scripts/utils/config-validator.ts /path/to/project
311
+ ```json
312
+ {
313
+ "projectId": "michi",
314
+ "projectName": "Michi - Managed Intelligent Comprehensive Hub for Integration",
315
+ "jiraProjectKey": "MICHI",
316
+ "confluenceLabels": ["project:michi", "service:hub"],
317
+ "status": "active",
318
+ "team": ["@developer1"],
319
+ "stakeholders": ["@pm", "@director"],
320
+ "repository": "https://github.com/your-org/your-repo",
321
+ "description": "プロジェクトの説明"
322
+ }
329
323
  ```
330
324
 
331
- ### よくある設定パターン
332
-
333
- 詳細は [カスタマイズガイド](../guides/customization.md) を参照してください。
325
+ **各フィールドの説明**:
326
+ - `projectId`: プロジェクトの一意識別子(通常はリポジトリ名)
327
+ - `projectName`: プロジェクトの表示名
328
+ - `jiraProjectKey`: JIRAプロジェクトキー(`.env` の `JIRA_PROJECT_KEYS` と一致させる)
329
+ - `confluenceLabels`: Confluenceページに付与するラベル(配列形式)
330
+ - `status`: プロジェクトのステータス(`active`、`archived` など)
331
+ - `team`: チームメンバーのリスト(`@` プレフィックス付き)
332
+ - `stakeholders`: ステークホルダーのリスト(`@` プレフィックス付き)
333
+ - `repository`: GitHubリポジトリのURL(オプション)
334
+ - `description`: プロジェクトの説明(オプション)
334
335
 
335
- ## 6. Cursor IDE の設定
336
+ ## Step 6: Cursor IDE の設定
336
337
 
337
338
  ### 6-1. Cursor でプロジェクトを開く
338
339
 
@@ -353,7 +354,7 @@ Cursor のコマンドパネル(Cmd+Shift+P)で `/kiro:` と入力すると
353
354
 
354
355
  凡例の詳細は [README.md#凡例の記号説明](../README.md#凡例の記号説明) を参照してください。
355
356
 
356
- ## 7. 動作確認
357
+ ## Step 7: 動作確認
357
358
 
358
359
  ### 7-1. 基本的な動作確認
359
360
 
@@ -384,14 +385,136 @@ gh auth login
384
385
  gh auth setup-git
385
386
  ```
386
387
 
387
- ## 次のステップ
388
+ ## セットアップ完了
388
389
 
389
- セットアップが完了したら、以下のドキュメントを参照:
390
+ これでセットアップは完了です。次のステップ:
390
391
 
391
392
  - [クイックスタート](./quick-start.md) - 5分で始める
392
393
  - [ワークフローガイド](../guides/workflow.md) - AI開発フロー
393
394
  - [マルチプロジェクト管理](../guides/multi-project.md) - 複数プロジェクト管理
394
395
 
396
+ ## オプション設定
397
+
398
+ 以下の設定は任意です。必要に応じて設定してください。
399
+
400
+ ### ワークフロー承認ゲートの設定
401
+
402
+ ワークフロー実行時(`michi workflow:run`)の承認ゲートで使用するロール名を設定できます。
403
+
404
+ #### 設定方法
405
+
406
+ `.env` ファイルに以下の環境変数を追加:
407
+
408
+ ```bash
409
+ # 要件定義フェーズの承認者
410
+ APPROVAL_GATES_REQUIREMENTS=pm,director
411
+
412
+ # 設計フェーズの承認者
413
+ APPROVAL_GATES_DESIGN=architect,director
414
+
415
+ # リリースフェーズの承認者
416
+ APPROVAL_GATES_RELEASE=sm,director
417
+ ```
418
+
419
+ #### 設定例
420
+
421
+ **英語ロール名を使用する場合:**
422
+ ```bash
423
+ APPROVAL_GATES_REQUIREMENTS=product-manager,cto,legal
424
+ APPROVAL_GATES_DESIGN=tech-lead,architect,security
425
+ APPROVAL_GATES_RELEASE=release-manager,qa-lead,director
426
+ ```
427
+
428
+ **日本語ロール名を使用する場合:**
429
+ ```bash
430
+ APPROVAL_GATES_REQUIREMENTS=企画,部長
431
+ APPROVAL_GATES_DESIGN=アーキテクト,部長
432
+ APPROVAL_GATES_RELEASE=SM,部長
433
+ ```
434
+
435
+ **組織固有のロール名を使用する場合:**
436
+ ```bash
437
+ APPROVAL_GATES_REQUIREMENTS=プロダクトマネージャー,CTO,法務
438
+ APPROVAL_GATES_DESIGN=テックリード,アーキテクト,セキュリティ
439
+ APPROVAL_GATES_RELEASE=リリースマネージャー,QAリード,部長
440
+ ```
441
+
442
+ #### デフォルト値
443
+
444
+ 環境変数が設定されていない場合、以下のデフォルト値が使用されます:
445
+
446
+ - `APPROVAL_GATES_REQUIREMENTS`: `pm,director`
447
+ - `APPROVAL_GATES_DESIGN`: `architect,director`
448
+ - `APPROVAL_GATES_RELEASE`: `sm,director`
449
+
450
+ #### 注意事項
451
+
452
+ - ロール名はカンマ区切りで指定します
453
+ - 各ロール名の前後の空白は自動的にトリムされます
454
+ - 空のロール名は無視されます
455
+ - 環境変数が未設定の場合は、デフォルト値が使用されます
456
+
457
+ ### プロジェクト固有設定ファイル(.michi/config.json)
458
+
459
+ `.michi/config.json` を作成することで、Confluence/JIRAの動作をカスタマイズできます。
460
+
461
+ #### 設定ファイルの作成
462
+
463
+ プロジェクトルートに `.michi/config.json` を作成:
464
+
465
+ **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。
466
+
467
+ ```json
468
+ {
469
+ "confluence": {
470
+ "pageCreationGranularity": "by-hierarchy",
471
+ "spaces": {
472
+ "requirements": "Michi",
473
+ "design": "Michi",
474
+ "tasks": "Michi"
475
+ },
476
+ "hierarchy": {
477
+ "mode": "simple",
478
+ "parentPageTitle": "[{projectName}] {featureName}"
479
+ }
480
+ },
481
+ "jira": {
482
+ "createEpic": true,
483
+ "storyCreationGranularity": "all",
484
+ "storyPoints": "auto",
485
+ "issueTypes": {
486
+ "story": "10036",
487
+ "subtask": "10037"
488
+ }
489
+ },
490
+ "workflow": {
491
+ "enabledPhases": ["requirements", "design", "tasks"],
492
+ "approvalGates": {
493
+ "requirements": ["leader", "director"],
494
+ "design": ["leader", "director"],
495
+ "release": ["service-manager", "director"]
496
+ }
497
+ }
498
+ }
499
+ ```
500
+
501
+ #### 設定値の詳細
502
+
503
+ すべての設定値の詳細は [設定値リファレンス](../reference/config.md) を参照してください。
504
+
505
+ #### 設定の優先順位
506
+
507
+ 設定値は以下の優先順位で決定されます:
508
+
509
+ 1. **`spec.json`**: 機能固有の設定(最優先)
510
+ 2. **`.michi/config.json`**: プロジェクト固有の設定
511
+ 3. **環境変数**: システム環境変数または`.env`ファイル
512
+ 4. **デフォルト値**: スキーマで定義されたデフォルト値
513
+
514
+ #### よくある設定パターン
515
+
516
+ 詳細は [カスタマイズガイド](../guides/customization.md) を参照してください。
517
+
395
518
  ## 参考リンク
396
519
 
397
520
  ### AI開発フレームワーク
@@ -474,7 +474,7 @@ npm run config:validate
474
474
  ### Michi関連
475
475
  - [セットアップガイド](../getting-started/setup.md)
476
476
  - [ワークフローガイド](./workflow.md)
477
- - [新規プロジェクトセットアップ](../getting-started/new-project-setup.md)
477
+ - [新規リポジトリセットアップ](../getting-started/new-repository-setup.md)
478
478
  - [設定値リファレンス](../reference/config.md)
479
479
 
480
480
  ### cc-sdd関連
@@ -10,7 +10,7 @@ Michiは、複数プロジェクト(3-5案件)を同時並行で管理でき
10
10
 
11
11
  ### プロジェクト構成
12
12
 
13
- **構成**: 1つのリポジトリ内で複数プロジェクトを管理します。各プロジェクトは独立したディレクトリに配置され、それぞれに`.kiro/project.json`を持ちます。
13
+ **構成**: 1つのリポジトリ内で複数プロジェクトを管理します。**すべてのプロジェクト(単一プロジェクトも含む)は`projects/`ディレクトリ配下に配置され、それぞれに`.kiro/project.json`を持ちます。**
14
14
 
15
15
  ```
16
16
  repository/ ← 1つのGitHubリポジトリ
@@ -23,14 +23,17 @@ repository/ ← 1つのGitHubリポジトリ
23
23
  │ │ └── .kiro/
24
24
  │ └── 20240310-analytics-api/ ← プロジェクトC
25
25
  │ └── .kiro/
26
- └── michi/統合ハブ(オプション)
27
- └── .kiro/
26
+ ├── package.jsonリポジトリルート(共有)
27
+ ├── tsconfig.json ← リポジトリルート(共有)
28
+ └── .gitignore ← リポジトリルート(共有)
28
29
  ```
29
30
 
30
- **プロジェクト識別方法**:
31
+ **重要な原則**:
32
+ - **統一されたディレクトリ構成**: 単一プロジェクトも`projects/{project-id}/`配下に配置
31
33
  - 各プロジェクトディレクトリに`.kiro/project.json`を配置
32
34
  - 作業ディレクトリ(`process.cwd()`)から`.kiro/project.json`を読み込んでプロジェクトを識別
33
35
  - プロジェクト切り替えは、該当ディレクトリに移動するだけ
36
+ - `package.json`や`tsconfig.json`はリポジトリルートに配置(複数プロジェクトで共有)
34
37
 
35
38
  ### 統合管理
36
39
 
@@ -47,7 +50,7 @@ repository/ ← 1つのGitHubリポジトリ
47
50
 
48
51
  ### 新規プロジェクト追加
49
52
 
50
- 詳細な手順は [新規プロジェクトセットアップガイド](../getting-started/new-project-setup.md) を参照してください。
53
+ 詳細な手順は [新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md) を参照してください。
51
54
 
52
55
  **クイックスタート**:
53
56
  1. 既存リポジトリに追加: `bash /path/to/michi/scripts/setup-existing.sh`
@@ -62,7 +65,7 @@ repository/ ← 1つのGitHubリポジトリ
62
65
 
63
66
  ### 環境変数設定
64
67
 
65
- 各プロジェクトで`.env`ファイルを設定します。詳細は [新規プロジェクトセットアップガイド](../getting-started/new-project-setup.md#step-5-環境変数設定) を参照してください。
68
+ 各プロジェクトで`.env`ファイルを設定します。詳細は [新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md#step-5-環境変数設定) を参照してください。
66
69
 
67
70
  ### 動作確認
68
71
 
@@ -210,7 +213,7 @@ ls -la .kiro/specs/
210
213
 
211
214
  **解決方法**:
212
215
  1. プロジェクトディレクトリが正しいか確認
213
- 2. `.kiro/project.json`を作成([新規プロジェクトセットアップガイド](../getting-started/new-project-setup.md)を参照)
216
+ 2. `.kiro/project.json`を作成([新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md)を参照)
214
217
 
215
218
  ## プロジェクト横断操作
216
219
 
@@ -322,7 +325,7 @@ shared-infrastructure/
322
325
  **Confluenceラベル**: `project:{projectId}, service:{service}`
323
326
  - 例: `project:20240115-payment-api, service:payment`
324
327
 
325
- **ラベル生成ロジック**: 詳細は [新規プロジェクトセットアップガイド](../getting-started/new-project-setup.md#ラベル生成ロジック) を参照してください。
328
+ **ラベル生成ロジック**: 詳細は [新規リポジトリセットアップガイド](../getting-started/new-repository-setup.md#ラベル生成ロジック) を参照してください。
326
329
  ### チーム構成の明確化
327
330
 
328
331
  各プロジェクトの `team` フィールドに担当者を記載: