@sk8metal/michi-cli 0.10.1 → 0.11.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 (104) hide show
  1. package/README.md +77 -847
  2. package/dist/scripts/phase-runner.js +1 -1
  3. package/dist/scripts/phase-runner.js.map +1 -1
  4. package/dist/scripts/utils/multi-repo-validator.d.ts +18 -0
  5. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
  6. package/dist/scripts/utils/multi-repo-validator.js +42 -0
  7. package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
  8. package/dist/scripts/utils/tasks-format-validator.js +3 -3
  9. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  10. package/docs/README.md +20 -83
  11. package/docs/getting-started/configuration.md +379 -0
  12. package/docs/getting-started/installation.md +59 -0
  13. package/docs/getting-started/quick-start.md +76 -0
  14. package/docs/guides/ai-tools.md +311 -0
  15. package/docs/guides/atlassian-integration.md +116 -0
  16. package/docs/guides/claude-code.md +155 -0
  17. package/docs/guides/multi-repo.md +117 -0
  18. package/docs/guides/workflow.md +382 -0
  19. package/docs/reference/ai-commands.md +92 -0
  20. package/docs/reference/cli.md +756 -0
  21. package/docs/reference/environment-variables.md +192 -0
  22. package/docs/troubleshooting.md +543 -0
  23. package/package.json +1 -1
  24. package/scripts/phase-runner.ts +1 -1
  25. package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
  26. package/scripts/utils/multi-repo-validator.ts +50 -0
  27. package/scripts/utils/tasks-format-validator.ts +3 -3
  28. package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
  29. package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
  30. package/templates/claude/commands/michi/e2e-plan.md +1 -1
  31. package/templates/claude/commands/michi/spec-design.md +2 -2
  32. package/templates/claude/commands/michi/spec-tasks.md +156 -0
  33. package/templates/claude/commands/michi/test-planning.md +1 -1
  34. package/templates/claude/commands/michi/validate-design.md +3 -3
  35. package/templates/claude/commands/michi-multi-repo/impl-all.md +30 -1
  36. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +14 -1
  37. package/templates/claude/commands/michi-multi-repo/spec-review.md +16 -2
  38. package/templates/claude-agent/agents/repo-spec-executor.md +1 -1
  39. package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
  40. package/templates/claude-agent/rules/code-size-monitor.md +26 -0
  41. package/templates/claude-agent/rules/code-size-rules.md +32 -0
  42. package/templates/codex/AGENTS.override.md +1 -1
  43. package/templates/codex/rules/README.md +2 -2
  44. package/templates/cursor/commands/michi/spec-tasks.md +117 -0
  45. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
  46. package/docs/context.md +0 -59
  47. package/docs/michi-development/contributing/development.md +0 -341
  48. package/docs/michi-development/contributing/release.md +0 -365
  49. package/docs/michi-development/design/config-unification.md +0 -733
  50. package/docs/michi-development/design/design-config-current-state.md +0 -330
  51. package/docs/michi-development/design/design-config-implementation.md +0 -628
  52. package/docs/michi-development/design/design-config-migration.md +0 -952
  53. package/docs/michi-development/design/design-config-security.md +0 -771
  54. package/docs/michi-development/design/design-config-solution.md +0 -583
  55. package/docs/michi-development/design/design-config-testing.md +0 -892
  56. package/docs/michi-development/testing/manual-verification-flow.md +0 -871
  57. package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
  58. package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
  59. package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
  60. package/docs/michi-development/testing-strategy.md +0 -87
  61. package/docs/plan.md +0 -275
  62. package/docs/user-guide/getting-started/github-token-setup.md +0 -510
  63. package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
  64. package/docs/user-guide/getting-started/quick-start.md +0 -212
  65. package/docs/user-guide/getting-started/setup.md +0 -819
  66. package/docs/user-guide/guides/agent-skills-integration.md +0 -222
  67. package/docs/user-guide/guides/customization.md +0 -537
  68. package/docs/user-guide/guides/internationalization.md +0 -540
  69. package/docs/user-guide/guides/migration-guide.md +0 -138
  70. package/docs/user-guide/guides/multi-project.md +0 -368
  71. package/docs/user-guide/guides/multi-repo-guide.md +0 -1590
  72. package/docs/user-guide/guides/phase-automation.md +0 -419
  73. package/docs/user-guide/guides/workflow.md +0 -574
  74. package/docs/user-guide/hands-on/README.md +0 -142
  75. package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
  76. package/docs/user-guide/hands-on/claude-setup.md +0 -452
  77. package/docs/user-guide/hands-on/cursor-setup.md +0 -353
  78. package/docs/user-guide/hands-on/troubleshooting.md +0 -964
  79. package/docs/user-guide/hands-on/verification-checklist.md +0 -439
  80. package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -1078
  81. package/docs/user-guide/reference/config.md +0 -589
  82. package/docs/user-guide/reference/multi-repo-api.md +0 -771
  83. package/docs/user-guide/reference/quick-reference.md +0 -297
  84. package/docs/user-guide/reference/security-test-payloads.md +0 -50
  85. package/docs/user-guide/reference/tasks-template.md +0 -550
  86. package/docs/user-guide/release/ci-setup-java.md +0 -114
  87. package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
  88. package/docs/user-guide/release/ci-setup-php.md +0 -102
  89. package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
  90. package/docs/user-guide/release/ci-setup.md +0 -188
  91. package/docs/user-guide/release/release-flow.md +0 -476
  92. package/docs/user-guide/templates/test-specs/README.md +0 -173
  93. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
  94. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
  95. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
  96. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
  97. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
  98. package/docs/user-guide/testing/integration-tests.md +0 -312
  99. package/docs/user-guide/testing/tdd-cycle.md +0 -349
  100. package/docs/user-guide/testing/test-execution-flow.md +0 -396
  101. package/docs/user-guide/testing/test-failure-handling.md +0 -521
  102. package/docs/user-guide/testing/test-planning-flow.md +0 -185
  103. package/docs/user-guide/testing-strategy.md +0 -185
  104. package/docs/verification-guide.md +0 -518
@@ -1,583 +0,0 @@
1
- # Michi 設定統合設計書 - 解決策と新アーキテクチャ
2
-
3
- **バージョン**: 1.0
4
- **作成日**: 2025-01-11
5
- **ステータス**: Draft
6
- **親ドキュメント**: [config-unification.md](./config-unification.md)
7
-
8
- ---
9
-
10
- ## 4. 解決策の提案
11
-
12
- ### 4.1 3層の設定階層
13
-
14
- 新しいアーキテクチャでは、設定を3つのレイヤーに分離します:
15
-
16
- ```
17
- Layer 1: グローバル設定 (~/.michi/)
18
- ├─ config.json - Confluence/JIRA/ワークフロー設定
19
- └─ .env - 認証情報・組織共通設定
20
- ↓ (低優先度)
21
-
22
- Layer 2: プロジェクト設定 (.michi/)
23
- └─ config.json - プロジェクト固有のオーバーライド(optional)
24
- ↓ (中優先度)
25
-
26
- Layer 3: プロジェクトメタデータ (.kiro/, .env)
27
- ├─ .kiro/project.json - projectId, projectName, jiraProjectKey
28
- └─ .env - プロジェクト固有の環境変数のみ
29
- ↓ (高優先度)
30
-
31
- [マージされた設定]
32
- ```
33
-
34
- **利点:**
35
- 1. **明確な階層**: どのレベルで設定を管理すべきか明確
36
- 2. **設定の共有**: グローバル設定は全プロジェクトで自動的に共有
37
- 3. **柔軟なオーバーライド**: プロジェクト固有の要件にも対応可能
38
-
39
- ### 4.2 設定項目の再分類
40
-
41
- **Category A: 組織レベル (グローバル設定)**
42
-
43
- | 項目 | ファイル | 説明 |
44
- |------|---------|------|
45
- | `ATLASSIAN_URL` | `~/.michi/.env` | AtlassianベースURL |
46
- | `ATLASSIAN_EMAIL` | `~/.michi/.env` | Atlassian認証用メールアドレス |
47
- | `ATLASSIAN_API_TOKEN` | `~/.michi/.env` | Atlassian APIトークン |
48
- | `GITHUB_ORG` | `~/.michi/.env` | GitHub組織名 |
49
- | `GITHUB_TOKEN` | `~/.michi/.env` | GitHubアクセストークン |
50
- | `CONFLUENCE_PRD_SPACE` | `~/.michi/.env` | 要件定義書スペース |
51
- | `CONFLUENCE_QA_SPACE` | `~/.michi/.env` | テスト仕様書スペース |
52
- | `CONFLUENCE_RELEASE_SPACE` | `~/.michi/.env` | リリースノートスペース |
53
- | `JIRA_ISSUE_TYPE_STORY` | `~/.michi/.env` | Story Issue Type ID |
54
- | `JIRA_ISSUE_TYPE_SUBTASK` | `~/.michi/.env` | Subtask Issue Type ID |
55
- | `confluence.*` | `~/.michi/config.json` | Confluence設定(pageCreationGranularity等) |
56
- | `jira.*` | `~/.michi/config.json` | JIRA設定(createEpic等) |
57
- | `workflow.*` | `~/.michi/config.json` | ワークフロー設定 |
58
-
59
- **Category B: プロジェクトレベル (プロジェクト設定)**
60
-
61
- | 項目 | ファイル | 説明 |
62
- |------|---------|------|
63
- | `projectId` | `.kiro/project.json` | プロジェクトID |
64
- | `projectName` | `.kiro/project.json` | プロジェクト名 |
65
- | `jiraProjectKey` | `.kiro/project.json` | JIRAプロジェクトキー |
66
- | `JIRA_PROJECT_KEYS` | `.env` | JIRAプロジェクトキー |
67
- | `language` | `.kiro/project.json` | ドキュメント言語 |
68
- | `confluenceLabels` | `.kiro/project.json` | Confluenceラベル |
69
- | `repository` | `.kiro/project.json` | リポジトリURL(ConfigLoaderが自動的に org/repo 形式に変換) |
70
- | `description` | `.kiro/project.json` | プロジェクト説明 |
71
- | `confluence.*` | `.michi/config.json` (optional) | プロジェクト固有のオーバーライド |
72
- | `jira.*` | `.michi/config.json` (optional) | プロジェクト固有のオーバーライド |
73
- | `workflow.*` | `.michi/config.json` (optional) | プロジェクト固有のオーバーライド |
74
-
75
- **注**: `repository` から `org/repo` 形式が必要な場合、ConfigLoaderが自動的にパースして提供します。
76
-
77
- ### 4.3 コマンド統一案
78
-
79
- **新しいコマンド構成:**
80
-
81
- 1. **`michi config:global`** (初回のみ、組織で一度)
82
- - ~/.michi/config.json 作成
83
- - ~/.michi/.env 作成(認証情報を安全に保存)
84
- - 全プロジェクトで共通の設定を一元管理
85
-
86
- 2. **`michi init`** (新規・既存プロジェクト統一)
87
- - `--existing` フラグで既存プロジェクトモードを切り替え
88
- - 自動検出機能により、既存プロジェクトを自動判別
89
- - プロジェクトメタデータのみ対話的に取得
90
- - グローバル設定を自動参照
91
-
92
- 3. **`michi migrate`** (既存ユーザー向け)
93
- - 既存の .env を新形式に自動変換
94
- - バックアップを作成して安全に移行
95
-
96
- 4. **`setup-existing` の即時非推奨化**
97
- - v0.5.0以降、setup-existing は警告を表示して `michi init --existing` に委譲
98
- - 完全な後方互換性を維持しつつ、新しいコマンドへの移行を促す
99
- - コマンド実行時に明確な移行メッセージを表示
100
-
101
- **michi init vs michi init --existing の違い:**
102
-
103
- | 項目 | `michi init` | `michi init --existing` |
104
- |------|-------------|------------------------|
105
- | **用途** | 新規プロジェクトの作成 | 既存プロジェクトにMichiを追加 |
106
- | **プロジェクトID** | 対話的に入力を要求 | ディレクトリ名から自動生成 |
107
- | **リポジトリURL** | Git設定から取得、なければ対話的入力 | Git設定から取得(必須) |
108
- | **.gitディレクトリ** | なくてもOK(警告のみ) | 必須(なければエラー) |
109
- | **既存ファイルの扱い** | .envが存在する場合は警告 | .envが存在する場合はマージ |
110
- | **テンプレート** | すべてのテンプレートをコピー | 必要なテンプレートのみ追加 |
111
- | **自動検出** | 既存プロジェクトを検出した場合、--existing モードを提案 | - |
112
-
113
- **プロジェクトID自動生成の具体例:**
114
-
115
- `michi init --existing` を実行した際、プロジェクトIDはカレントディレクトリ名から自動生成されます:
116
-
117
- ```bash
118
- # 例1: Node.jsプロジェクト
119
- $ pwd
120
- /Users/username/Work/git/my-awesome-project
121
-
122
- $ michi init --existing
123
- # → projectId: "my-awesome-project" として自動設定
124
-
125
- # 例2: Javaプロジェクト
126
- $ pwd
127
- /home/developer/projects/ecommerce-api
128
-
129
- $ michi init --existing
130
- # → projectId: "ecommerce-api" として自動設定
131
-
132
- # 例3: PHPプロジェクト
133
- $ pwd
134
- /var/www/customer-portal
135
-
136
- $ michi init --existing
137
- # → projectId: "customer-portal" として自動設定
138
- ```
139
-
140
- **注**: 自動生成された projectId は、対話的プロンプトで確認され、必要に応じて変更可能です。
141
-
142
- **自動検出ロジック:**
143
-
144
- `michi init` 実行時、以下のファイル/ディレクトリが存在する場合、自動的に既存プロジェクトと判断:
145
- - `.git/` ディレクトリ
146
- - `package.json` (Node.js)
147
- - `pom.xml` または `build.gradle` (Java)
148
- - `composer.json` (PHP)
149
-
150
- 検出された場合、以下のプロンプトを表示:
151
- ```
152
- ⚠️ 既存のプロジェクトが検出されました
153
- 既存プロジェクトモードで初期化しますか? (Y/n)
154
- ```
155
-
156
- **使い方のシンプル化:**
157
-
158
- ```bash
159
- # 1. グローバル設定(初回のみ、組織で一度)
160
- michi config:global
161
-
162
- # 2a. 新規プロジェクト初期化
163
- cd /path/to/new-project
164
- michi init
165
-
166
- # 2b. 既存プロジェクトにMichiを追加
167
- cd /path/to/existing-project
168
- michi init --existing
169
- # または、自動検出により michi init でもOK(確認プロンプトが表示される)
170
-
171
- # 3. (非推奨) 既存の setup-existing も引き続き動作(警告付き)
172
- npx @sk8metal/michi-cli setup-existing
173
- # → 警告: "このコマンドは非推奨です。michi init --existing を使用してください"
174
- ```
175
-
176
- ---
177
-
178
- ## 5. 新アーキテクチャ
179
-
180
- ### 5.1 ファイル構成
181
-
182
- ```
183
- ~/.michi/ # グローバル設定ディレクトリ
184
- ├── config.json # Confluence/JIRA/ワークフロー設定
185
- └── .env # 認証情報・組織共通設定 (chmod 600)
186
-
187
- <project-root>/
188
- ├── .michi/
189
- │ └── config.json # プロジェクト固有のオーバーライド(optional)
190
- ├── .kiro/
191
- │ ├── project.json # プロジェクトメタデータ
192
- │ ├── settings/
193
- │ ├── steering/
194
- │ └── specs/
195
- └── .env # プロジェクト固有の環境変数 (chmod 600)
196
- ```
197
-
198
- ### 5.2 各ファイルの内容例
199
-
200
- #### 5.2.1 `~/.michi/config.json`
201
-
202
- ```json
203
- {
204
- "version": "0.5.0",
205
- "confluence": {
206
- "pageCreationGranularity": "single",
207
- "pageTitleFormat": "{projectName} - {featureName}",
208
- "hierarchy": {
209
- "mode": "simple",
210
- "parentPageTitle": "[{projectName}] {featureName}"
211
- }
212
- },
213
- "jira": {
214
- "createEpic": true,
215
- "storyCreationGranularity": "all",
216
- "storyPoints": "auto"
217
- },
218
- "workflow": {
219
- "enabledPhases": ["requirements", "design", "tasks"],
220
- "approvalGates": {
221
- "requirements": ["pm", "director"],
222
- "design": ["architect", "director"],
223
- "release": ["sm", "director"]
224
- }
225
- }
226
- }
227
- ```
228
-
229
- #### 5.2.2 `~/.michi/.env`
230
-
231
- ```bash
232
- # Atlassian認証
233
- ATLASSIAN_URL=https://your-org.atlassian.net
234
- ATLASSIAN_EMAIL=your-email@company.com
235
- ATLASSIAN_API_TOKEN=your-api-token
236
-
237
- # GitHub認証
238
- GITHUB_ORG=your-org
239
- GITHUB_TOKEN=ghp_xxx
240
-
241
- # Confluence共有スペース
242
- CONFLUENCE_PRD_SPACE=PRD
243
- CONFLUENCE_QA_SPACE=QA
244
- CONFLUENCE_RELEASE_SPACE=RELEASE
245
-
246
- # JIRA Issue Type IDs(組織固有)
247
- JIRA_ISSUE_TYPE_STORY=10036
248
- JIRA_ISSUE_TYPE_SUBTASK=10037
249
- ```
250
-
251
- #### 5.2.3 `.kiro/project.json`
252
-
253
- ```json
254
- {
255
- "projectId": "my-project",
256
- "projectName": "マイプロジェクト",
257
- "language": "ja",
258
- "jiraProjectKey": "MYPRJ",
259
- "confluenceLabels": ["project:my-project"],
260
- "status": "active",
261
- "team": [],
262
- "stakeholders": ["@企画", "@部長"],
263
- "repository": "https://github.com/org/my-project",
264
- "description": "マイプロジェクトの開発"
265
- }
266
- ```
267
-
268
- #### 5.2.4 `.env` (新形式)
269
-
270
- ```bash
271
- # プロジェクト固有の環境変数のみ
272
- JIRA_PROJECT_KEYS=MYPRJ
273
-
274
- # (必要に応じて) プロジェクト固有のオーバーライド
275
- # CONFLUENCE_PRD_SPACE=CUSTOM_PRD
276
-
277
- # 注: GITHUB_REPO は不要です
278
- # リポジトリ情報は .kiro/project.json の repository から自動的に抽出されます
279
- ```
280
-
281
- #### 5.2.5 `.michi/config.json` (optional)
282
-
283
- ```json
284
- {
285
- "confluence": {
286
- "pageCreationGranularity": "by-hierarchy"
287
- },
288
- "jira": {
289
- "storyPoints": "manual"
290
- }
291
- }
292
- ```
293
-
294
- ### 5.3 設定の読み込み順序と優先度
295
-
296
- **読み込み順序(優先度: 低 → 高):**
297
-
298
- 1. `~/.michi/.env` (組織レベルの環境変数)
299
- 2. `~/.michi/config.json` (組織レベルの設定)
300
- 3. `.kiro/project.json` (プロジェクトメタデータ)
301
- 4. `.michi/config.json` (プロジェクト固有のオーバーライド)
302
- 5. `.env` (プロジェクト固有の環境変数)
303
-
304
- **マージロジック:**
305
-
306
- - 後に読み込まれた設定が、前の設定を上書き
307
- - オブジェクトはディープマージ
308
- - 配列は完全置換(マージしない)
309
-
310
- **例:**
311
-
312
- ```javascript
313
- // ~/.michi/config.json
314
- {
315
- "confluence": {
316
- "pageCreationGranularity": "single",
317
- "pageTitleFormat": "{projectName}"
318
- }
319
- }
320
-
321
- // .michi/config.json (プロジェクト固有)
322
- {
323
- "confluence": {
324
- "pageCreationGranularity": "by-hierarchy"
325
- }
326
- }
327
-
328
- // マージ結果
329
- {
330
- "confluence": {
331
- "pageCreationGranularity": "by-hierarchy", // プロジェクト設定で上書き
332
- "pageTitleFormat": "{projectName}" // グローバル設定を継承
333
- }
334
- }
335
- ```
336
-
337
- ### 5.4 各コマンドの新しい動作フロー
338
-
339
- #### 5.4.1 `michi config:global`
340
-
341
- ```
342
- [開始]
343
-
344
- [既存のグローバル設定を確認]
345
- ├─ ~/.michi/config.json の存在確認
346
- └─ ~/.michi/.env の存在確認
347
-
348
- [存在する場合]
349
-
350
- [上書き確認]
351
- ├─ No → [終了]
352
- └─ Yes → [続行]
353
-
354
- [対話的に設定を取得]
355
- ├─ Atlassian認証情報
356
- │ ├─ ATLASSIAN_URL
357
- │ ├─ ATLASSIAN_EMAIL
358
- │ └─ ATLASSIAN_API_TOKEN
359
- ├─ GitHub認証情報
360
- │ ├─ GITHUB_ORG
361
- │ └─ GITHUB_TOKEN
362
- ├─ Confluenceスペース設定
363
- │ ├─ CONFLUENCE_PRD_SPACE
364
- │ ├─ CONFLUENCE_QA_SPACE
365
- │ └─ CONFLUENCE_RELEASE_SPACE
366
- ├─ JIRA Issue Type IDs
367
- │ ├─ JIRA_ISSUE_TYPE_STORY
368
- │ └─ JIRA_ISSUE_TYPE_SUBTASK
369
- ├─ Confluence設定
370
- │ ├─ pageCreationGranularity
371
- │ ├─ pageTitleFormat (optional)
372
- │ └─ hierarchy (optional)
373
- ├─ JIRA設定
374
- │ ├─ createEpic
375
- │ ├─ storyCreationGranularity
376
- │ ├─ selectedPhases (optional)
377
- │ └─ storyPoints
378
- └─ ワークフロー設定
379
- ├─ enabledPhases
380
- └─ approvalGates (optional)
381
-
382
- [設定内容の確認表示]
383
-
384
- [保存確認]
385
- ├─ No → [終了]
386
- └─ Yes → [続行]
387
-
388
- [~/.michi/ディレクトリ作成]
389
-
390
- [~/.michi/config.json 保存]
391
-
392
- [~/.michi/.env 保存]
393
- └─ chmod 600 (セキュリティ)
394
-
395
- [バリデーション実行]
396
-
397
- [完了メッセージ表示]
398
- ├─ 作成されたファイルの一覧
399
- ├─ セキュリティに関する注意事項
400
- │ └─ ~/.michi/.env と <project>/.env の違いを明記
401
- └─ 次のステップ(michi init の実行)
402
- ```
403
-
404
- #### 5.4.2 `michi init`
405
-
406
- ```
407
- [開始]
408
-
409
- [オプション解析]
410
- └─ --existing フラグの有無を確認
411
-
412
- [グローバル設定の存在確認]
413
- ├─ ~/.michi/config.json
414
- └─ ~/.michi/.env
415
-
416
- [グローバル設定がない場合]
417
-
418
- [警告表示]
419
- 「グローバル設定が未作成です」
420
- 「michi config:global を先に実行することを推奨します」
421
- 「組織共通の認証情報(Atlassian, GitHub)を全プロジェクトで共有できます」
422
-
423
- [続行確認]
424
- ├─ No → [終了]
425
- └─ Yes → [後方互換モードで続行]
426
-
427
- [environment の決定]
428
- ├─ --cursor, --claude 等のフラグをチェック
429
- ├─ 環境変数 (CLAUDE_CODE=1 等) をチェック
430
- ├─ 自動検出を試みる
431
- └─ 対話的プロンプト (自動検出できない場合)
432
-
433
- [プロジェクトメタデータの対話的取得]
434
- ├─ projectId
435
- │ └─ --existing の場合はディレクトリ名を使用
436
- ├─ projectName
437
- ├─ jiraProjectKey
438
- └─ language (デフォルト: ja)
439
-
440
- [設定内容の確認表示]
441
- ├─ projectId
442
- ├─ projectName
443
- ├─ jiraProjectKey
444
- ├─ environment
445
- ├─ language
446
- └─ (グローバル設定が読み込まれることを明示)
447
-
448
- [続行確認]
449
- ├─ No → [終了]
450
- └─ Yes → [続行]
451
-
452
- [リポジトリルートの検出]
453
- ├─ .git ディレクトリを探索
454
- └─ 見つからない場合は警告(Gitリポジトリでない)
455
-
456
- [.kiro/ ディレクトリ構造作成]
457
- ├─ .kiro/settings/templates/
458
- ├─ .kiro/steering/
459
- └─ .kiro/specs/
460
-
461
- [.kiro/project.json 作成]
462
- ├─ projectId, projectName, jiraProjectKey
463
- ├─ repository URL (git config から取得)
464
- ├─ confluenceLabels (自動生成)
465
- └─ 他のメタデータ
466
-
467
- [.env 作成]
468
- ├─ 既存の .env をチェック
469
- │ └─ 存在する場合: マージ(既存値を優先)
470
- ├─ プロジェクト固有設定のみを追加
471
- │ ├─ GITHUB_REPO (git config から取得)
472
- │ └─ JIRA_PROJECT_KEYS
473
- └─ テンプレートコメントを追加
474
-
475
- [テンプレート/ルールのコピー]
476
- ├─ 環境別テンプレート
477
- │ └─ cursor/claude/gemini/codex/cline
478
- ├─ Steeringテンプレート
479
- ├─ Specテンプレート
480
- └─ cc-sdd オーバーライド
481
-
482
- [環境別の追加処理]
483
- ├─ Claude環境
484
- │ └─ スキル/サブエージェントのインストール
485
- ├─ Codex環境
486
- │ └─ cc-sdd インストールプロンプト
487
- └─ 他の環境
488
- └─ 環境固有の処理
489
-
490
- [.gitignore 更新]
491
- ├─ .env エントリの追加
492
- └─ 既に含まれている場合はスキップ
493
-
494
- [バリデーション実行]
495
- ├─ 設定ファイルのスキーマチェック
496
- ├─ 必須ファイルの存在確認
497
- └─ パーミッションのチェック (.env = 600)
498
-
499
- [完了メッセージ表示]
500
- ├─ 作成されたファイルの一覧
501
- ├─ 環境別の次のステップ
502
- └─ ドキュメントへのリンク
503
- ```
504
-
505
- #### 5.4.3 `michi migrate`
506
-
507
- ```
508
- [開始]
509
-
510
- [現在の設定を検出]
511
- ├─ ~/.michi/config.json の存在確認
512
- ├─ ~/.michi/.env の存在確認(新形式)
513
- ├─ ~/.michi/global.env の存在確認(旧形式、マイグレーション対象)
514
- ├─ .michi/config.json の存在確認
515
- ├─ .kiro/project.json の存在確認
516
- └─ .env の存在確認
517
-
518
- [検出された設定の表示]
519
- ├─ ✓ ~/.michi/config.json
520
- ├─ ✓ .kiro/project.json
521
- └─ ✓ .env
522
-
523
- [移行内容の説明]
524
- 1. .env から組織共通設定を抽出 → ~/.michi/.env
525
- 2. プロジェクト固有設定のみを .env に残す
526
- 3. 既存の ~/.michi/global.env を ~/.michi/.env にリネーム(存在する場合)
527
- 4. 既存の設定ファイルはすべてバックアップを作成
528
-
529
- [実行確認]
530
- ├─ No → [終了]
531
- └─ Yes → [続行]
532
-
533
- [バックアップ作成]
534
- ├─ .michi-backup-YYYYMMDDHHMMSS/ ディレクトリ作成
535
- ├─ 既存の設定ファイルをコピー
536
- └─ 成功メッセージ表示
537
-
538
- [.env を分析]
539
- ├─ 全環境変数を読み込み
540
- ├─ 組織共通設定を抽出
541
- │ └─ ATLASSIAN_*, GITHUB_ORG, GITHUB_TOKEN, CONFLUENCE_*, JIRA_ISSUE_TYPE_*
542
- └─ プロジェクト固有設定を抽出
543
- └─ GITHUB_REPO, JIRA_PROJECT_KEYS
544
-
545
- [組織共通設定の項目数を表示]
546
- └─ "✓ 組織共通設定: N 項目"
547
-
548
- [プロジェクト固有設定の項目数を表示]
549
- └─ "✓ プロジェクト固有設定: M 項目"
550
-
551
- [旧形式からのマイグレーション]
552
- ├─ ~/.michi/global.env が存在する場合
553
- │ └─ ~/.michi/.env にリネーム
554
- └─ 成功メッセージ表示
555
-
556
- [~/.michi/.env 作成または更新]
557
- ├─ 既存の ~/.michi/.env をチェック
558
- │ ├─ 存在する場合: 上書き確認
559
- │ └─ 存在しない場合: 新規作成
560
- ├─ 組織共通設定を書き込み
561
- ├─ chmod 600 (セキュリティ)
562
- └─ 成功メッセージ表示
563
-
564
- [.env を更新]
565
- ├─ プロジェクト固有設定のみを書き込み
566
- ├─ コメントを追加
567
- │ └─ 「組織共通設定は ~/.michi/.env を参照」
568
- │ └─ 「このファイルにはプロジェクト固有の設定のみを記載してください」
569
- └─ 成功メッセージ表示
570
-
571
- [バリデーション実行]
572
- ├─ ConfigLoader で設定を読み込み
573
- ├─ 必須項目のチェック
574
- └─ エラーがあれば表示
575
-
576
- [完了メッセージ表示]
577
- ├─ 変更内容のサマリー
578
- ├─ バックアップの場所
579
- └─ 次のステップ
580
- ```
581
-
582
- ---
583
-