@sk8metal/michi-cli 0.3.0 → 0.5.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 (237) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/scripts/__tests__/spec-impl-workflow.test.js +4 -2
  3. package/dist/scripts/__tests__/spec-impl-workflow.test.js.map +1 -1
  4. package/dist/scripts/config/config-schema.d.ts +52 -0
  5. package/dist/scripts/config/config-schema.d.ts.map +1 -1
  6. package/dist/scripts/config/config-schema.js +25 -0
  7. package/dist/scripts/config/config-schema.js.map +1 -1
  8. package/dist/scripts/config-global.d.ts +10 -0
  9. package/dist/scripts/config-global.d.ts.map +1 -0
  10. package/dist/scripts/config-global.js +111 -0
  11. package/dist/scripts/config-global.js.map +1 -0
  12. package/dist/scripts/confluence-sync.d.ts +22 -4
  13. package/dist/scripts/confluence-sync.d.ts.map +1 -1
  14. package/dist/scripts/confluence-sync.js +22 -12
  15. package/dist/scripts/confluence-sync.js.map +1 -1
  16. package/dist/scripts/jira-sync.d.ts.map +1 -1
  17. package/dist/scripts/jira-sync.js +201 -167
  18. package/dist/scripts/jira-sync.js.map +1 -1
  19. package/dist/scripts/list-projects.js.map +1 -1
  20. package/dist/scripts/multi-project-estimate.js.map +1 -1
  21. package/dist/scripts/phase-runner.d.ts +1 -1
  22. package/dist/scripts/phase-runner.d.ts.map +1 -1
  23. package/dist/scripts/phase-runner.js +295 -522
  24. package/dist/scripts/phase-runner.js.map +1 -1
  25. package/dist/scripts/pr-automation.d.ts.map +1 -1
  26. package/dist/scripts/pr-automation.js +11 -3
  27. package/dist/scripts/pr-automation.js.map +1 -1
  28. package/dist/scripts/pre-flight-check.d.ts.map +1 -1
  29. package/dist/scripts/pre-flight-check.js +10 -6
  30. package/dist/scripts/pre-flight-check.js.map +1 -1
  31. package/dist/scripts/resource-dashboard.js.map +1 -1
  32. package/dist/scripts/spec-impl-workflow.d.ts.map +1 -1
  33. package/dist/scripts/spec-impl-workflow.js +23 -7
  34. package/dist/scripts/spec-impl-workflow.js.map +1 -1
  35. package/dist/scripts/template/renderer.d.ts +1 -1
  36. package/dist/scripts/template/renderer.d.ts.map +1 -1
  37. package/dist/scripts/test-interactive.d.ts.map +1 -1
  38. package/dist/scripts/test-interactive.js +0 -15
  39. package/dist/scripts/test-interactive.js.map +1 -1
  40. package/dist/scripts/test-new-features.js +6 -3
  41. package/dist/scripts/test-new-features.js.map +1 -1
  42. package/dist/scripts/test-spec-generator.d.ts.map +1 -1
  43. package/dist/scripts/test-spec-generator.js +1 -2
  44. package/dist/scripts/test-spec-generator.js.map +1 -1
  45. package/dist/scripts/utils/__tests__/config-loader.test.js +114 -1
  46. package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -1
  47. package/dist/scripts/utils/__tests__/config-validator.test.js +2 -0
  48. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  49. package/dist/scripts/utils/__tests__/env-config.test.js +0 -2
  50. package/dist/scripts/utils/__tests__/env-config.test.js.map +1 -1
  51. package/dist/scripts/utils/__tests__/project-meta.test.d.ts +6 -0
  52. package/dist/scripts/utils/__tests__/project-meta.test.d.ts.map +1 -0
  53. package/dist/scripts/utils/__tests__/project-meta.test.js +154 -0
  54. package/dist/scripts/utils/__tests__/project-meta.test.js.map +1 -0
  55. package/dist/scripts/utils/__tests__/security-validator.test.d.ts +6 -0
  56. package/dist/scripts/utils/__tests__/security-validator.test.d.ts.map +1 -0
  57. package/dist/scripts/utils/__tests__/security-validator.test.js +219 -0
  58. package/dist/scripts/utils/__tests__/security-validator.test.js.map +1 -0
  59. package/dist/scripts/utils/config-loader.d.ts +14 -3
  60. package/dist/scripts/utils/config-loader.d.ts.map +1 -1
  61. package/dist/scripts/utils/config-loader.js +284 -46
  62. package/dist/scripts/utils/config-loader.js.map +1 -1
  63. package/dist/scripts/utils/config-sections.d.ts +54 -0
  64. package/dist/scripts/utils/config-sections.d.ts.map +1 -0
  65. package/dist/scripts/utils/config-sections.js +178 -0
  66. package/dist/scripts/utils/config-sections.js.map +1 -0
  67. package/dist/scripts/utils/config-validator.d.ts +4 -0
  68. package/dist/scripts/utils/config-validator.d.ts.map +1 -1
  69. package/dist/scripts/utils/config-validator.js +57 -1
  70. package/dist/scripts/utils/config-validator.js.map +1 -1
  71. package/dist/scripts/utils/confluence-approval.d.ts.map +1 -1
  72. package/dist/scripts/utils/confluence-approval.js +5 -3
  73. package/dist/scripts/utils/confluence-approval.js.map +1 -1
  74. package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
  75. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
  76. package/dist/scripts/utils/env-config.d.ts +1 -1
  77. package/dist/scripts/utils/env-config.d.ts.map +1 -1
  78. package/dist/scripts/utils/env-config.js +2 -14
  79. package/dist/scripts/utils/env-config.js.map +1 -1
  80. package/dist/scripts/utils/interactive-helpers.d.ts +32 -0
  81. package/dist/scripts/utils/interactive-helpers.d.ts.map +1 -0
  82. package/dist/scripts/utils/interactive-helpers.js +92 -0
  83. package/dist/scripts/utils/interactive-helpers.js.map +1 -0
  84. package/dist/scripts/utils/jira-issue-type-fetcher.d.ts.map +1 -1
  85. package/dist/scripts/utils/jira-issue-type-fetcher.js +27 -18
  86. package/dist/scripts/utils/jira-issue-type-fetcher.js.map +1 -1
  87. package/dist/scripts/utils/project-meta.d.ts +9 -0
  88. package/dist/scripts/utils/project-meta.d.ts.map +1 -1
  89. package/dist/scripts/utils/project-meta.js +22 -0
  90. package/dist/scripts/utils/project-meta.js.map +1 -1
  91. package/dist/scripts/utils/release-notes-generator.d.ts.map +1 -1
  92. package/dist/scripts/utils/release-notes-generator.js +2 -1
  93. package/dist/scripts/utils/release-notes-generator.js.map +1 -1
  94. package/dist/scripts/utils/security-validator.d.ts +55 -0
  95. package/dist/scripts/utils/security-validator.d.ts.map +1 -0
  96. package/dist/scripts/utils/security-validator.js +232 -0
  97. package/dist/scripts/utils/security-validator.js.map +1 -0
  98. package/dist/scripts/utils/spec-updater.d.ts +19 -0
  99. package/dist/scripts/utils/spec-updater.d.ts.map +1 -1
  100. package/dist/scripts/utils/spec-updater.js.map +1 -1
  101. package/dist/scripts/utils/tasks-converter.d.ts.map +1 -1
  102. package/dist/scripts/utils/tasks-converter.js +2 -2
  103. package/dist/scripts/utils/tasks-converter.js.map +1 -1
  104. package/dist/scripts/utils/tasks-format-validator.d.ts.map +1 -1
  105. package/dist/scripts/utils/tasks-format-validator.js +0 -12
  106. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  107. package/dist/scripts/utils/test-runner.d.ts.map +1 -1
  108. package/dist/scripts/utils/test-runner.js +3 -2
  109. package/dist/scripts/utils/test-runner.js.map +1 -1
  110. package/dist/scripts/validate-phase.d.ts +1 -1
  111. package/dist/scripts/validate-phase.d.ts.map +1 -1
  112. package/dist/scripts/validate-phase.js +12 -62
  113. package/dist/scripts/validate-phase.js.map +1 -1
  114. package/dist/scripts/workflow-orchestrator.d.ts.map +1 -1
  115. package/dist/scripts/workflow-orchestrator.js +11 -16
  116. package/dist/scripts/workflow-orchestrator.js.map +1 -1
  117. package/dist/src/__tests__/integration/setup/init.test.d.ts +5 -0
  118. package/dist/src/__tests__/integration/setup/init.test.d.ts.map +1 -0
  119. package/dist/src/__tests__/integration/setup/init.test.js +352 -0
  120. package/dist/src/__tests__/integration/setup/init.test.js.map +1 -0
  121. package/dist/src/cli.d.ts.map +1 -1
  122. package/dist/src/cli.js +67 -21
  123. package/dist/src/cli.js.map +1 -1
  124. package/dist/src/commands/__tests__/init.test.d.ts +5 -0
  125. package/dist/src/commands/__tests__/init.test.d.ts.map +1 -0
  126. package/dist/src/commands/__tests__/init.test.js +255 -0
  127. package/dist/src/commands/__tests__/init.test.js.map +1 -0
  128. package/dist/src/commands/__tests__/migrate.test.d.ts +5 -0
  129. package/dist/src/commands/__tests__/migrate.test.d.ts.map +1 -0
  130. package/dist/src/commands/__tests__/migrate.test.js +216 -0
  131. package/dist/src/commands/__tests__/migrate.test.js.map +1 -0
  132. package/dist/src/commands/config-validate.d.ts +9 -0
  133. package/dist/src/commands/config-validate.d.ts.map +1 -0
  134. package/dist/src/commands/config-validate.js +90 -0
  135. package/dist/src/commands/config-validate.js.map +1 -0
  136. package/dist/src/commands/init.d.ts +29 -0
  137. package/dist/src/commands/init.d.ts.map +1 -0
  138. package/dist/src/commands/init.js +513 -0
  139. package/dist/src/commands/init.js.map +1 -0
  140. package/dist/src/commands/migrate.d.ts +25 -0
  141. package/dist/src/commands/migrate.d.ts.map +1 -0
  142. package/dist/src/commands/migrate.js +341 -0
  143. package/dist/src/commands/migrate.js.map +1 -0
  144. package/dist/src/commands/setup-existing.d.ts.map +1 -1
  145. package/dist/src/commands/setup-existing.js +0 -1
  146. package/dist/src/commands/setup-existing.js.map +1 -1
  147. package/dist/vitest.config.d.ts.map +1 -1
  148. package/dist/vitest.config.js +32 -8
  149. package/dist/vitest.config.js.map +1 -1
  150. package/docs/michi-development/design/config-unification.md +4789 -0
  151. package/docs/user-guide/getting-started/github-token-setup.md +2 -1
  152. package/docs/user-guide/getting-started/new-repository-setup.md +1 -1
  153. package/docs/user-guide/getting-started/quick-start.md +1 -1
  154. package/docs/user-guide/getting-started/setup.md +35 -14
  155. package/docs/user-guide/guides/customization.md +64 -11
  156. package/docs/user-guide/guides/workflow.md +35 -21
  157. package/docs/user-guide/hands-on/claude-agent-setup.md +2 -2
  158. package/docs/user-guide/hands-on/claude-setup.md +2 -2
  159. package/docs/user-guide/hands-on/cursor-setup.md +2 -2
  160. package/docs/user-guide/hands-on/workflow-walkthrough.md +4 -1
  161. package/docs/user-guide/reference/config.md +30 -5
  162. package/docs/user-guide/reference/quick-reference.md +68 -74
  163. package/docs/user-guide/testing/test-planning-flow.md +4 -0
  164. package/env.example +1 -1
  165. package/package.json +3 -5
  166. package/scripts/__tests__/spec-impl-workflow.test.ts +5 -2
  167. package/scripts/config/config-schema.ts +40 -0
  168. package/scripts/config-global.ts +160 -0
  169. package/scripts/confluence-sync.ts +91 -27
  170. package/scripts/jira-sync.ts +284 -218
  171. package/scripts/list-projects.ts +2 -2
  172. package/scripts/multi-project-estimate.ts +3 -3
  173. package/scripts/phase-runner.ts +391 -594
  174. package/scripts/pr-automation.ts +15 -5
  175. package/scripts/pre-flight-check.ts +20 -9
  176. package/scripts/pre-publish-check.sh +3 -34
  177. package/scripts/resource-dashboard.ts +4 -4
  178. package/scripts/spec-impl-workflow.ts +23 -7
  179. package/scripts/template/renderer.ts +1 -1
  180. package/scripts/test-interactive.ts +0 -19
  181. package/scripts/test-new-features.ts +10 -7
  182. package/scripts/test-npm-package.sh +3 -34
  183. package/scripts/test-spec-generator.ts +3 -7
  184. package/scripts/utils/__tests__/config-loader.test.ts +149 -0
  185. package/scripts/utils/__tests__/config-validator.test.ts +2 -0
  186. package/scripts/utils/__tests__/env-config.test.ts +0 -2
  187. package/scripts/utils/__tests__/project-meta.test.ts +192 -0
  188. package/scripts/utils/__tests__/security-validator.test.ts +272 -0
  189. package/scripts/utils/config-loader.ts +328 -68
  190. package/scripts/utils/config-sections.ts +316 -0
  191. package/scripts/utils/config-validator.ts +66 -1
  192. package/scripts/utils/confluence-approval.ts +8 -6
  193. package/scripts/utils/confluence-hierarchy.ts +27 -27
  194. package/scripts/utils/env-config.ts +2 -14
  195. package/scripts/utils/interactive-helpers.ts +135 -0
  196. package/scripts/utils/jira-issue-type-fetcher.ts +29 -21
  197. package/scripts/utils/project-meta.ts +27 -0
  198. package/scripts/utils/release-notes-generator.ts +3 -2
  199. package/scripts/utils/security-validator.ts +286 -0
  200. package/scripts/utils/spec-updater.ts +37 -15
  201. package/scripts/utils/tasks-converter.ts +4 -6
  202. package/scripts/utils/tasks-format-validator.ts +0 -13
  203. package/scripts/utils/test-runner.ts +4 -3
  204. package/scripts/validate-phase.ts +21 -80
  205. package/scripts/workflow-orchestrator.ts +16 -25
  206. package/templates/claude/commands/kiro/kiro-spec-impl.md +5 -1
  207. package/templates/claude/commands/kiro/kiro-spec-tasks.md +3 -1
  208. package/templates/claude/commands/michi/confluence-sync.md +8 -2
  209. package/templates/claude/commands/michi/design-review.md +4 -0
  210. package/templates/claude/commands/michi/e2e-plan.md +4 -0
  211. package/templates/claude/commands/michi/license-check.md +4 -0
  212. package/templates/claude/commands/michi/pr-resolve.md +4 -0
  213. package/templates/claude/commands/michi/project-switch.md +8 -2
  214. package/templates/claude/commands/michi/spec-design.md +78 -0
  215. package/templates/claude/commands/michi/spec-impl.md +716 -0
  216. package/templates/claude/commands/michi/test-planning.md +174 -0
  217. package/templates/claude/commands/michi/validate-design.md +58 -0
  218. package/templates/claude/commands/michi/version-audit.md +4 -0
  219. package/templates/claude-agent/commands/kiro/kiro-spec-impl.md +1 -1
  220. package/templates/cursor/commands/kiro/kiro-spec-impl.md +1 -1
  221. package/templates/michi/cc-sdd-overrides/README.md +8 -0
  222. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +53 -0
  223. package/dist/scripts/config-interactive.d.ts +0 -10
  224. package/dist/scripts/config-interactive.d.ts.map +0 -1
  225. package/dist/scripts/config-interactive.js +0 -372
  226. package/dist/scripts/config-interactive.js.map +0 -1
  227. package/dist/scripts/setup-existing-project.d.ts +0 -15
  228. package/dist/scripts/setup-existing-project.d.ts.map +0 -1
  229. package/dist/scripts/setup-existing-project.js +0 -455
  230. package/dist/scripts/setup-existing-project.js.map +0 -1
  231. package/dist/scripts/setup-interactive.d.ts +0 -10
  232. package/dist/scripts/setup-interactive.d.ts.map +0 -1
  233. package/dist/scripts/setup-interactive.js +0 -413
  234. package/dist/scripts/setup-interactive.js.map +0 -1
  235. package/scripts/config-interactive.ts +0 -550
  236. package/scripts/setup-existing-project.ts +0 -585
  237. package/scripts/setup-interactive.ts +0 -565
@@ -230,9 +230,10 @@ nano .env
230
230
  # GitHub設定
231
231
  GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
232
232
  GITHUB_ORG=your-organization # または your-username
233
- GITHUB_REPO=your-org/your-repo
234
233
  ```
235
234
 
235
+ > **Note (v0.5.0以降)**: `GITHUB_REPO` 環境変数は廃止されました。リポジトリ情報は `.kiro/project.json` の `repository` フィールドから自動的に取得されます。
236
+
236
237
  **セキュリティ**:
237
238
  ```bash
238
239
  # .env ファイルのパーミッションを600に設定
@@ -316,7 +316,7 @@ ATLASSIAN_API_TOKEN=your-token-here
316
316
  # GitHub設定
317
317
  GITHUB_ORG=your-org
318
318
  GITHUB_TOKEN=ghp_xxx
319
- GITHUB_REPO=your-org/20240115-payment-api
319
+ # Note: リポジトリ情報は .kiro/project.json の repository フィールドで管理されます
320
320
 
321
321
  # Confluence共有スペース
322
322
  CONFLUENCE_PRD_SPACE=PRD
@@ -76,7 +76,7 @@ cat > .env <<EOF
76
76
  # GitHub設定(必須)
77
77
  GITHUB_TOKEN=your-github-token
78
78
  GITHUB_ORG=your-org
79
- GITHUB_REPO=your-org/your-repo
79
+ # Note: リポジトリ情報は .kiro/project.json の repository フィールドで管理されます
80
80
 
81
81
  # JIRA設定(オプション)
82
82
  ATLASSIAN_URL=https://your-domain.atlassian.net
@@ -186,10 +186,37 @@ curl -o .env https://raw.githubusercontent.com/sk8metalme/michi/main/env.example
186
186
  wget -O .env https://raw.githubusercontent.com/sk8metalme/michi/main/env.example
187
187
  ```
188
188
 
189
- **注意**:
189
+ **注意**:
190
190
  - `.env` ファイルは作業するプロジェクトのルートディレクトリに作成されます
191
191
  - 別のディレクトリにいる場合は、まずプロジェクトルートに移動してください
192
192
 
193
+ ## Step 3.5: 設定の作成と管理
194
+
195
+ Michiには2段階の設定があります。
196
+
197
+ | 設定レベル | コマンド | 出力先 | タイミング |
198
+ |---------|---------|--------|-----------|
199
+ | **グローバル設定** | `npm run config:global` | `~/.michi/config.json` | 初回セットアップ時(推奨) |
200
+ | **プロジェクト設定** | `michi init` または手動作成 | `.michi/config.json` | プロジェクトごとのカスタマイズ時 |
201
+
202
+ ### グローバル設定のメリット
203
+
204
+ `npm run config:global` を使用すると、以下の設定を全プロジェクトで共有できます:
205
+ - Confluence階層構造設定
206
+ - JIRA Story作成粒度
207
+ - ワークフロー承認ゲート
208
+
209
+ ### プロジェクト固有の設定
210
+
211
+ プロジェクト固有の設定は以下の方法で作成できます:
212
+ 1. **自動コピー**: `michi init` 実行時にグローバル設定から自動コピー
213
+ 2. **手動作成**: グローバル設定をコピーして `.michi/config.json` として編集
214
+
215
+ **推奨フロー:**
216
+ 1. 初回: `npm run config:global` でグローバル設定を作成
217
+ 2. プロジェクトごと: `michi init` で初期化(グローバル設定を自動コピー)
218
+ 3. カスタマイズ: 必要に応じて `.michi/config.json` を手動編集
219
+
193
220
  ### 3-2. 認証情報の設定
194
221
 
195
222
  `.env` ファイルを編集して、実際の認証情報を設定します:
@@ -203,8 +230,7 @@ ATLASSIAN_API_TOKEN=<ATLASSIANトークン>
203
230
  # GitHub設定
204
231
  GITHUB_ORG=your-org
205
232
  GITHUB_TOKEN=<GitHubトークン>
206
- # 開発したいリポジトリ
207
- GITHUB_REPO=your-org/user-auth
233
+ # Note: リポジトリ情報は .kiro/project.json の repository フィールドで管理されます
208
234
 
209
235
  # Confluence設定
210
236
  CONFLUENCE_PRD_SPACE=PRD
@@ -258,15 +284,9 @@ SLACK_WEBHOOK_URL=<SlackWebhook URL>
258
284
  - **確認方法**: 3-3セクション「GitHub Token」を参照
259
285
  - **使用機能**: すべてのGitHub連携機能で認証に使用(API呼び出し時の認証トークン)
260
286
 
261
- **`GITHUB_REPO`**
262
- - **確認方法**: GitHubリポジトリのURLから取得
263
- - **確認手順**:
264
- 1. リポジトリのページにアクセス(例: `https://github.com/org/repo`)
265
- 2. URLの `/org/repo` 部分がリポジトリ名
266
- - **形式**: `組織名/リポジトリ名`
267
- - **例**: `sk8metalme/michi`
268
- - **使用機能**:
269
- - PR自動作成(`michi github:create-pr`): 指定されたリポジトリにPull Requestを作成(ワークフロー自動化で使用)
287
+ > **Note**: リポジトリ情報(以前の `GITHUB_REPO` 環境変数)は `.kiro/project.json` の `repository` フィールドで管理されるようになりました。
288
+ > 形式: `https://github.com/org/repo.git` または `git@github.com:org/repo.git`
289
+ > 例: `.kiro/project.json` に `"repository": "https://github.com/sk8metalme/michi.git"` と設定
270
290
 
271
291
  ##### Confluence設定
272
292
 
@@ -783,8 +803,9 @@ APPROVAL_GATES_RELEASE=リリースマネージャー,QAリード,部長
783
803
 
784
804
  1. **`spec.json`**: 機能固有の設定(最優先)
785
805
  2. **`.michi/config.json`**: プロジェクト固有の設定
786
- 3. **環境変数**: システム環境変数または`.env`ファイル
787
- 4. **デフォルト値**: スキーマで定義されたデフォルト値
806
+ 3. **`~/.michi/config.json`**: グローバル設定
807
+ 4. **環境変数**: システム環境変数または`.env`ファイル
808
+ 5. **デフォルト値**: スキーマで定義されたデフォルト値
788
809
 
789
810
  #### よくある設定パターン
790
811
 
@@ -43,7 +43,7 @@ Michiは[cc-sdd](https://github.com/gotalab/cc-sdd)をベースとしており
43
43
  | カスタマイズ種類 | 対象 | 設定場所 | コマンド |
44
44
  |----------------|------|---------|---------|
45
45
  | **cc-sdd** | ドキュメント構造・AI判断基準 | `.kiro/settings/templates/`, `.kiro/settings/rules/`, `.kiro/steering/` | `/kiro:steering-custom` |
46
- | **Michi** | Confluence/JIRA作成方法 | `.michi/config.json` | `michi config:interactive` |
46
+ | **Michi** | Confluence/JIRA作成方法 | `.michi/config.json` | 手動編集または`npm run config:global` |
47
47
 
48
48
  **例**:
49
49
  - 要件定義書の見出しを「要件 N:」から「REQ-N:」に変更 → **cc-sddのカスタマイズ**(`templates/requirements.md`を編集)
@@ -357,28 +357,81 @@ Confluenceスペース
357
357
  }
358
358
  ```
359
359
 
360
- ## 対話式設定ツール
360
+ ## グローバル設定
361
361
 
362
- `.michi/config.json`を対話的に作成・更新できます:
362
+ 全プロジェクトで共通の設定は、グローバル設定として保存できます。
363
363
 
364
- ```bash
365
- # 対話式設定ツールを実行
366
- npx @sk8metal/michi-cli config:interactive
364
+ ### グローバル設定の作成
367
365
 
368
- # または
369
- michi config:interactive
366
+ ```bash
367
+ npm run config:global
370
368
  ```
371
369
 
370
+ このツールで `~/.michi/config.json` を作成できます。
371
+
372
+ ### グローバル設定のメリット
373
+
374
+ - 新規プロジェクトごとに同じ設定を繰り返し入力する必要がない
375
+ - 組織標準の設定を統一できる
376
+ - プロジェクト固有の設定で上書き可能
377
+
378
+ ### 設定の優先順位
379
+
380
+ 設定値は以下の優先順位で決定されます:
381
+
382
+ 1. **`spec.json`**: 機能固有の設定(最優先)
383
+ 2. **`.michi/config.json`**: プロジェクト固有の設定
384
+ 3. **`~/.michi/config.json`**: グローバル設定
385
+ 4. **環境変数**: システム環境変数または`.env`ファイル
386
+ 5. **デフォルト値**: スキーマで定義されたデフォルト値
387
+
372
388
  ### 使い方
373
389
 
374
- 1. **コマンド実行**: `npx @sk8metal/michi-cli config:interactive`
375
- 2. **設定項目を選択**:
390
+ 1. **コマンド実行**: `npm run config:global`
391
+ 2. **設定項目を選択**:
376
392
  - Confluence設定のカスタマイズ
377
393
  - JIRA設定のカスタマイズ
378
394
  - ワークフロー設定のカスタマイズ
379
395
  3. **各設定を対話的に入力**: プロンプトに従って選択・入力
380
396
  4. **設定を確認**: 最終的な設定内容を確認
381
- 5. **保存**: 設定ファイルを`.michi/config.json`に保存
397
+ 5. **保存**: 設定ファイルを`~/.michi/config.json`に保存
398
+
399
+ ### プロジェクト設定との使い分け
400
+
401
+ - **グローバル設定(`~/.michi/config.json`)**: 組織全体で共通の設定(Confluence階層構造、JIRA Story作成粒度など)
402
+ - **プロジェクト設定(`.michi/config.json`)**: プロジェクト固有の設定(特定プロジェクトのみカスタマイズが必要な場合)
403
+
404
+ **推奨フロー**:
405
+ 1. 初回: `npm run config:global` でグローバル設定を作成
406
+ 2. プロジェクトごと: `michi init` で初期化(グローバル設定を自動コピー)
407
+ 3. カスタマイズ: 必要に応じて `.michi/config.json` を手動編集
408
+
409
+ ## プロジェクト固有の設定
410
+
411
+ プロジェクト固有の`.michi/config.json`は以下の方法で作成できます:
412
+
413
+ ### 自動作成(推奨)
414
+
415
+ ```bash
416
+ # プロジェクト初期化時にグローバル設定から自動コピー
417
+ michi init
418
+ ```
419
+
420
+ ### 手動作成
421
+
422
+ 1. グローバル設定をコピー:
423
+ ```bash
424
+ cp ~/.michi/config.json .michi/config.json
425
+ ```
426
+
427
+ 2. プロジェクト固有のカスタマイズを適用:
428
+ - Confluence設定のカスタマイズ
429
+ - JIRA設定のカスタマイズ
430
+ - ワークフロー設定のカスタマイズ
431
+
432
+ 3. 設定ファイルを保存
433
+
434
+ **注意**: グローバル設定(`~/.michi/config.json`)を作成する場合は、`npm run config:global` を使用してください。
382
435
 
383
436
  ### 設定項目
384
437
 
@@ -8,54 +8,59 @@
8
8
 
9
9
  ## ワークフロー全体像
10
10
 
11
+ > **注**: このワークフローは cc-sdd (Spec-Driven Development) の標準フローを Michi が拡張したものです。
12
+ > - **cc-sdd 標準**: Phase 0.0-0.2, 0.5 (`/kiro:*` コマンド)
13
+ > - **Michi 固有拡張**: Phase 0.3-0.4, 0.6-0.7, Phase 1-5, Phase A/B (テスト計画・実行、JIRA/Confluence連携)
14
+
11
15
  ```
12
- Phase 0.0: 仕様の初期化 (/kiro:spec-init)
16
+ Phase 0.0: 仕様の初期化 (/kiro:spec-init) ← cc-sdd 標準
13
17
 
14
- Phase 0.1: 要件定義 (/kiro:spec-requirements)
15
- ↓ GitHub → Confluence同期
18
+ Phase 0.1: 要件定義 (/kiro:spec-requirements) ← cc-sdd 標準
19
+ ↓ GitHub → Confluence同期 ← Michi 固有
16
20
  ↓ 企画・部長が承認
17
21
 
18
- Phase 0.2: 設計 (/kiro:spec-design)
19
- GitHub Confluence同期
20
- 見積もり生成Excel出力
22
+ Phase 0.2: 設計 (/michi:spec-design または /kiro:spec-design)
23
+ /michi:spec-design 推奨(Phase 0.3-0.4 ガイダンス付き)
24
+ GitHubConfluence同期 ← Michi 固有
25
+ ↓ 見積もり生成 → Excel出力 ← Michi 固有
21
26
  ↓ アーキテクト・部長が承認
22
27
 
23
- Phase 0.3: テストタイプの選択
28
+ Phase 0.3: テストタイプの選択 ← Michi 固有(重要)
24
29
  ↓ テスト計画フローに従う
25
30
 
26
- Phase 0.4: テスト仕様書の作成
31
+ Phase 0.4: テスト仕様書の作成 ← Michi 固有(重要)
27
32
  ↓ テンプレートを使用
28
33
 
29
- Phase 0.5: タスク分割 (/kiro:spec-tasks)
34
+ Phase 0.5: タスク分割 (/kiro:spec-tasks) ← cc-sdd 標準
30
35
  ↓ tasks.md生成
31
36
 
32
- Phase 0.6: タスクのJIRA同期
37
+ Phase 0.6: タスクのJIRA同期 ← Michi 固有
33
38
  ↓ Epic/Story/Subtask自動作成
34
39
 
35
- Phase 0.7: Confluence同期
40
+ Phase 0.7: Confluence同期 ← Michi 固有
36
41
 
37
- Phase 1: 環境構築・基盤整備
42
+ Phase 1: 環境構築・基盤整備 ← Michi 固有
38
43
  ↓ テスト環境セットアップ
39
44
 
40
- Phase 2: TDD実装 (/kiro:spec-impl)
45
+ Phase 2: TDD実装 (/kiro:spec-impl) ← cc-sdd 標準
41
46
  ↓ テスト → コード → リファクタリング
42
47
 
43
- Phase A: PR作成前の自動テスト(CI/CD)
48
+ Phase A: PR作成前の自動テスト(CI/CD) ← Michi 固有
44
49
  ↓ 単体テスト + Lint + ビルド
45
50
  ↓ GitHub PR作成
46
51
  ↓ PRマージ
47
52
 
48
- Phase 3: 追加の品質保証(PRマージ後)
53
+ Phase 3: 追加の品質保証(PRマージ後) ← Michi 固有
49
54
  ↓ 静的解析・セキュリティスキャン
50
55
 
51
- Phase B: リリース準備時の手動テスト
56
+ Phase B: リリース準備時の手動テスト ← Michi 固有
52
57
  ↓ 統合・E2E・パフォーマンス・セキュリティ
53
58
 
54
- Phase 4: リリース準備ドキュメント作成 (/kiro:release-prep)
59
+ Phase 4: リリース準備ドキュメント作成 (/kiro:release-prep) ← Michi 固有
55
60
  ↓ Confluenceリリース手順書
56
61
  ↓ リリースJIRA起票
57
62
 
58
- Phase 5: リリース実行
63
+ Phase 5: リリース実行 ← Michi 固有
59
64
  ↓ タグ作成 → CI/CD → GitHub Release作成
60
65
  ```
61
66
 
@@ -145,13 +150,18 @@ AIが自動的に:
145
150
  #### Phase 0.2 Step 1: 設計書の生成
146
151
 
147
152
  ```bash
148
- # 凡例
153
+ # 推奨: Michi 拡張版(Phase 0.3-0.4 ガイダンス付き)
154
+ /michi:spec-design <feature>
155
+
156
+ # または cc-sdd 標準版
149
157
  /kiro:spec-design <feature>
150
158
 
151
159
  # 具体例
152
- /kiro:spec-design user-auth
160
+ /michi:spec-design user-auth
153
161
  ```
154
162
 
163
+ **推奨**: `/michi:spec-design` を使用すると、設計完了後に Phase 0.3-0.4(テスト計画)へのガイダンスが自動的に表示されます。
164
+
155
165
  AIが以下を生成:
156
166
 
157
167
  - アーキテクチャ図
@@ -189,9 +199,13 @@ michi confluence:sync user-auth design
189
199
 
190
200
  ### Phase 0.3-0.4: テスト計画
191
201
 
202
+ > **Michi 固有機能**: Phase 0.3-0.4 は Michi 独自の拡張フェーズです。cc-sdd 標準には含まれません。
203
+ >
204
+ > `/michi:spec-design` コマンドを使用すると、設計完了後に自動的にこのフェーズへのガイダンスが表示されます。
205
+
192
206
  #### Phase 0.3: テストタイプの選択
193
207
 
194
- Phase 0.2(設計)完了後、Phase 0.4(テスト仕様書作成)の前に、どのテストタイプが必要かを決定します。
208
+ Phase 0.2(設計)完了後、Phase 0.5(タスク分割)の前に、どのテストタイプが必要かを決定します。
195
209
 
196
210
  詳細は [テスト計画フロー](../testing/test-planning-flow.md#phase-03-テストタイプの選択) を参照してください。
197
211
 
@@ -187,9 +187,10 @@ vim .env
187
187
  # GitHub設定(必須)
188
188
  GITHUB_TOKEN=ghp_your_token_here
189
189
  GITHUB_ORG=your-org
190
- GITHUB_REPO=your-org/your-repo
191
190
  ```
192
191
 
192
+ > **Note (v0.5.0以降)**: `GITHUB_REPO` 環境変数は廃止されました。リポジトリ情報は `.kiro/project.json` の `repository` フィールドから自動的に取得されます。
193
+
193
194
  **完全な設定(Confluence/JIRA連携も使用)**:
194
195
 
195
196
  ```bash
@@ -201,7 +202,6 @@ ATLASSIAN_API_TOKEN=your-token-here
201
202
  # GitHub設定
202
203
  GITHUB_ORG=your-org
203
204
  GITHUB_TOKEN=ghp_xxx
204
- GITHUB_REPO=your-org/your-repo
205
205
 
206
206
  # Confluence共有スペース
207
207
  CONFLUENCE_PRD_SPACE=PRD
@@ -173,9 +173,10 @@ vim .env
173
173
  # GitHub設定(必須)
174
174
  GITHUB_TOKEN=ghp_your_token_here
175
175
  GITHUB_ORG=your-org
176
- GITHUB_REPO=your-org/your-repo
177
176
  ```
178
177
 
178
+ > **Note (v0.5.0以降)**: `GITHUB_REPO` 環境変数は廃止されました。リポジトリ情報は `.kiro/project.json` の `repository` フィールドから自動的に取得されます。
179
+
179
180
  **完全な設定(Confluence/JIRA連携も使用)**:
180
181
 
181
182
  ```bash
@@ -187,7 +188,6 @@ ATLASSIAN_API_TOKEN=your-token-here
187
188
  # GitHub設定
188
189
  GITHUB_ORG=your-org
189
190
  GITHUB_TOKEN=ghp_xxx
190
- GITHUB_REPO=your-org/your-repo
191
191
 
192
192
  # Confluence共有スペース
193
193
  CONFLUENCE_PRD_SPACE=PRD
@@ -140,9 +140,10 @@ vim .env
140
140
  # GitHub設定(必須)
141
141
  GITHUB_TOKEN=ghp_your_token_here
142
142
  GITHUB_ORG=your-org
143
- GITHUB_REPO=your-org/your-repo
144
143
  ```
145
144
 
145
+ > **Note (v0.5.0以降)**: `GITHUB_REPO` 環境変数は廃止されました。リポジトリ情報は `.kiro/project.json` の `repository` フィールドから自動的に取得されます。
146
+
146
147
  **完全な設定(Confluence/JIRA連携も使用)**:
147
148
 
148
149
  ```bash
@@ -154,7 +155,6 @@ ATLASSIAN_API_TOKEN=your-token-here
154
155
  # GitHub設定
155
156
  GITHUB_ORG=your-org
156
157
  GITHUB_TOKEN=ghp_xxx
157
- GITHUB_REPO=your-org/your-repo
158
158
 
159
159
  # Confluence共有スペース
160
160
  CONFLUENCE_PRD_SPACE=PRD
@@ -182,7 +182,10 @@ vim .env
182
182
  # 最低限、以下を設定:
183
183
  # GITHUB_TOKEN=your-token
184
184
  # GITHUB_ORG=your-org
185
- # GITHUB_REPO=your-org/your-repo
185
+ ```
186
+
187
+ > **Note (v0.5.0以降)**: `GITHUB_REPO` 環境変数は廃止されました。リポジトリ情報は `.kiro/project.json` の `repository` フィールドから自動的に取得されます。
188
+
186
189
  ```
187
190
 
188
191
  詳細: [Cursor IDEセットアップガイド](./cursor-setup.md)
@@ -4,10 +4,30 @@
4
4
 
5
5
  ## 設定ファイルの場所
6
6
 
7
- プロジェクトルートの `.michi/config.json` に設定を記述します。
7
+ Michiの設定ファイルは以下の2つの場所に配置できます:
8
+
9
+ ### グローバル設定
10
+
11
+ **場所**: `~/.michi/config.json`
12
+
13
+ **用途**: 全プロジェクトで共通の設定(組織標準の設定など)
14
+
15
+ **作成方法**: `npm run config:global` コマンドを使用
16
+
17
+ ### プロジェクト固有設定
18
+
19
+ **場所**: プロジェクトルートの `.michi/config.json`
20
+
21
+ **用途**: プロジェクト固有の設定(グローバル設定を上書き)
22
+
23
+ **作成方法**:
24
+ - 自動作成: `michi init` コマンド実行時にグローバル設定から自動コピー
25
+ - 手動作成: グローバル設定(`~/.michi/config.json`)をコピーして編集
8
26
 
9
27
  **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。`.kiro/config.json` が存在する場合は警告が表示されます。
10
28
 
29
+ ### 設定ファイルのフォーマット
30
+
11
31
  ```json
12
32
  {
13
33
  "confluence": { ... },
@@ -130,8 +150,13 @@
130
150
 
131
151
  1. **`spec.json`**: 機能固有の設定(最優先)
132
152
  2. **`.michi/config.json`**: プロジェクト固有の設定
133
- 3. **環境変数**: システム環境変数または`.env`ファイル
134
- 4. **デフォルト値**: スキーマで定義されたデフォルト値
153
+ 3. **`~/.michi/config.json`**: グローバル設定
154
+ 4. **環境変数**: システム環境変数または`.env`ファイル
155
+ 5. **デフォルト値**: スキーマで定義されたデフォルト値
156
+
157
+ **推奨される使い方**:
158
+ - **グローバル設定(`~/.michi/config.json`)**: 組織全体で共通の設定(Confluence階層構造、JIRA Story作成粒度など)
159
+ - **プロジェクト設定(`.michi/config.json`)**: プロジェクト固有の設定(特定プロジェクトのみカスタマイズが必要な場合)
135
160
 
136
161
  ## 設定例
137
162
 
@@ -359,7 +384,7 @@ npx tsx scripts/utils/config-validator.ts
359
384
  3. **優先順位の問題**
360
385
  - 環境変数が設定されている場合、環境変数の優先順位を確認
361
386
  - `spec.json`に設定がある場合、`spec.json`が最優先であることを確認
362
- - 設定の優先順位: `spec.json` > `config.json` > 環境変数 > デフォルト値
387
+ - 設定の優先順位: `spec.json` > `.michi/config.json` > `~/.michi/config.json` > 環境変数 > デフォルト値
363
388
 
364
389
  4. **設定ファイルの読み込みエラー**
365
390
  - 設定ファイルの権限を確認: `chmod 644 .michi/config.json`
@@ -516,7 +541,7 @@ export CONFLUENCE_PRD_SPACE=Michi
516
541
  - JIRA同期時: 設定値のソースが表示される
517
542
 
518
543
  2. **設定ファイルの優先順位を理解**
519
- - `spec.json` > `.michi/config.json` > 環境変数 > デフォルト値
544
+ - `spec.json` > `.michi/config.json` > `~/.michi/config.json` > 環境変数 > デフォルト値
520
545
  - 同じ設定値が複数箇所にある場合、優先順位の高いものが使用される
521
546
 
522
547
  3. **デバッグ方法**