@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.
- package/README.md +77 -847
- package/dist/scripts/phase-runner.js +1 -1
- package/dist/scripts/phase-runner.js.map +1 -1
- package/dist/scripts/utils/multi-repo-validator.d.ts +18 -0
- package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
- package/dist/scripts/utils/multi-repo-validator.js +42 -0
- package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
- package/dist/scripts/utils/tasks-format-validator.js +3 -3
- package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
- package/docs/README.md +20 -83
- package/docs/getting-started/configuration.md +379 -0
- package/docs/getting-started/installation.md +59 -0
- package/docs/getting-started/quick-start.md +76 -0
- package/docs/guides/ai-tools.md +311 -0
- package/docs/guides/atlassian-integration.md +116 -0
- package/docs/guides/claude-code.md +155 -0
- package/docs/guides/multi-repo.md +117 -0
- package/docs/guides/workflow.md +382 -0
- package/docs/reference/ai-commands.md +92 -0
- package/docs/reference/cli.md +756 -0
- package/docs/reference/environment-variables.md +192 -0
- package/docs/troubleshooting.md +543 -0
- package/package.json +1 -1
- package/scripts/phase-runner.ts +1 -1
- package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
- package/scripts/utils/multi-repo-validator.ts +50 -0
- package/scripts/utils/tasks-format-validator.ts +3 -3
- package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
- package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
- package/templates/claude/commands/michi/e2e-plan.md +1 -1
- package/templates/claude/commands/michi/spec-design.md +2 -2
- package/templates/claude/commands/michi/spec-tasks.md +156 -0
- package/templates/claude/commands/michi/test-planning.md +1 -1
- package/templates/claude/commands/michi/validate-design.md +3 -3
- package/templates/claude/commands/michi-multi-repo/impl-all.md +30 -1
- package/templates/claude/commands/michi-multi-repo/propagate-specs.md +14 -1
- package/templates/claude/commands/michi-multi-repo/spec-review.md +16 -2
- package/templates/claude-agent/agents/repo-spec-executor.md +1 -1
- package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
- package/templates/claude-agent/rules/code-size-monitor.md +26 -0
- package/templates/claude-agent/rules/code-size-rules.md +32 -0
- package/templates/codex/AGENTS.override.md +1 -1
- package/templates/codex/rules/README.md +2 -2
- package/templates/cursor/commands/michi/spec-tasks.md +117 -0
- package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
- package/docs/context.md +0 -59
- package/docs/michi-development/contributing/development.md +0 -341
- package/docs/michi-development/contributing/release.md +0 -365
- package/docs/michi-development/design/config-unification.md +0 -733
- package/docs/michi-development/design/design-config-current-state.md +0 -330
- package/docs/michi-development/design/design-config-implementation.md +0 -628
- package/docs/michi-development/design/design-config-migration.md +0 -952
- package/docs/michi-development/design/design-config-security.md +0 -771
- package/docs/michi-development/design/design-config-solution.md +0 -583
- package/docs/michi-development/design/design-config-testing.md +0 -892
- package/docs/michi-development/testing/manual-verification-flow.md +0 -871
- package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
- package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
- package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
- package/docs/michi-development/testing-strategy.md +0 -87
- package/docs/plan.md +0 -275
- package/docs/user-guide/getting-started/github-token-setup.md +0 -510
- package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
- package/docs/user-guide/getting-started/quick-start.md +0 -212
- package/docs/user-guide/getting-started/setup.md +0 -819
- package/docs/user-guide/guides/agent-skills-integration.md +0 -222
- package/docs/user-guide/guides/customization.md +0 -537
- package/docs/user-guide/guides/internationalization.md +0 -540
- package/docs/user-guide/guides/migration-guide.md +0 -138
- package/docs/user-guide/guides/multi-project.md +0 -368
- package/docs/user-guide/guides/multi-repo-guide.md +0 -1590
- package/docs/user-guide/guides/phase-automation.md +0 -419
- package/docs/user-guide/guides/workflow.md +0 -574
- package/docs/user-guide/hands-on/README.md +0 -142
- package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
- package/docs/user-guide/hands-on/claude-setup.md +0 -452
- package/docs/user-guide/hands-on/cursor-setup.md +0 -353
- package/docs/user-guide/hands-on/troubleshooting.md +0 -964
- package/docs/user-guide/hands-on/verification-checklist.md +0 -439
- package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -1078
- package/docs/user-guide/reference/config.md +0 -589
- package/docs/user-guide/reference/multi-repo-api.md +0 -771
- package/docs/user-guide/reference/quick-reference.md +0 -297
- package/docs/user-guide/reference/security-test-payloads.md +0 -50
- package/docs/user-guide/reference/tasks-template.md +0 -550
- package/docs/user-guide/release/ci-setup-java.md +0 -114
- package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
- package/docs/user-guide/release/ci-setup-php.md +0 -102
- package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
- package/docs/user-guide/release/ci-setup.md +0 -188
- package/docs/user-guide/release/release-flow.md +0 -476
- package/docs/user-guide/templates/test-specs/README.md +0 -173
- package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
- package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
- package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
- package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
- package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
- package/docs/user-guide/testing/integration-tests.md +0 -312
- package/docs/user-guide/testing/tdd-cycle.md +0 -349
- package/docs/user-guide/testing/test-execution-flow.md +0 -396
- package/docs/user-guide/testing/test-failure-handling.md +0 -521
- package/docs/user-guide/testing/test-planning-flow.md +0 -185
- package/docs/user-guide/testing-strategy.md +0 -185
- package/docs/verification-guide.md +0 -518
|
@@ -0,0 +1,543 @@
|
|
|
1
|
+
# トラブルシューティング
|
|
2
|
+
|
|
3
|
+
このドキュメントでは、Michiでよくある問題と解決策を説明します。
|
|
4
|
+
|
|
5
|
+
## 認証エラー
|
|
6
|
+
|
|
7
|
+
### Atlassian認証エラー
|
|
8
|
+
|
|
9
|
+
**症状**:
|
|
10
|
+
```
|
|
11
|
+
❌ Authentication failed
|
|
12
|
+
❌ Invalid credentials
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
**原因**:
|
|
16
|
+
- `ATLASSIAN_API_TOKEN` が無効または有効期限切れ
|
|
17
|
+
- `ATLASSIAN_EMAIL` または `ATLASSIAN_URL` が間違っている
|
|
18
|
+
|
|
19
|
+
**解決策**:
|
|
20
|
+
|
|
21
|
+
1. APIトークンを再生成
|
|
22
|
+
- [Atlassian API Tokens](https://id.atlassian.com/manage-profile/security/api-tokens) にアクセス
|
|
23
|
+
- 既存のトークンを削除
|
|
24
|
+
- 新しいトークンを作成
|
|
25
|
+
- `.env` ファイルの `ATLASSIAN_API_TOKEN` を更新
|
|
26
|
+
|
|
27
|
+
2. 認証情報を確認
|
|
28
|
+
```bash
|
|
29
|
+
# .envファイルを確認
|
|
30
|
+
cat .env | grep ATLASSIAN
|
|
31
|
+
|
|
32
|
+
# 接続テスト
|
|
33
|
+
michi preflight
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
3. 環境変数の読み込みを確認
|
|
37
|
+
```bash
|
|
38
|
+
# グローバル設定を確認
|
|
39
|
+
cat ~/.michi/.env | grep ATLASSIAN
|
|
40
|
+
|
|
41
|
+
# プロジェクト設定が優先されているか確認
|
|
42
|
+
# プロジェクトの.envがグローバル設定を上書きします
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### GitHub認証エラー
|
|
46
|
+
|
|
47
|
+
**症状**:
|
|
48
|
+
```
|
|
49
|
+
❌ GitHub authentication failed
|
|
50
|
+
❌ Bad credentials
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**原因**:
|
|
54
|
+
- `GITHUB_TOKEN` が無効または有効期限切れ
|
|
55
|
+
- トークンのスコープが不足
|
|
56
|
+
|
|
57
|
+
**解決策**:
|
|
58
|
+
|
|
59
|
+
1. Personal Access Tokenを再生成
|
|
60
|
+
- [GitHub Settings > Developer settings > Personal access tokens](https://github.com/settings/tokens) にアクセス
|
|
61
|
+
- 新しいトークンを作成(classic token)
|
|
62
|
+
- 必要なスコープを選択:
|
|
63
|
+
- `repo` - リポジトリへのフルアクセス
|
|
64
|
+
- `read:org` - 組織情報の読み取り
|
|
65
|
+
- `.env` ファイルの `GITHUB_TOKEN` を更新
|
|
66
|
+
|
|
67
|
+
2. トークンのスコープを確認
|
|
68
|
+
```bash
|
|
69
|
+
# トークンの情報を確認
|
|
70
|
+
curl -H "Authorization: token YOUR_TOKEN" \
|
|
71
|
+
https://api.github.com/user
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## JIRA Issue Type IDエラー
|
|
75
|
+
|
|
76
|
+
### Invalid JIRA Issue Type ID
|
|
77
|
+
|
|
78
|
+
**症状**:
|
|
79
|
+
```
|
|
80
|
+
❌ Invalid JIRA Issue Type ID
|
|
81
|
+
❌ Issue type not found
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
**原因**:
|
|
85
|
+
- `JIRA_ISSUE_TYPE_STORY` または `JIRA_ISSUE_TYPE_SUBTASK` の値が実際のJIRA環境のIssue Type IDと一致していない
|
|
86
|
+
- デフォルト値(10036、10037)をそのまま使用している
|
|
87
|
+
|
|
88
|
+
**解決策**:
|
|
89
|
+
|
|
90
|
+
1. REST APIでIssue Type IDを確認(推奨)
|
|
91
|
+
```bash
|
|
92
|
+
curl -u your-email@company.com:your-token \
|
|
93
|
+
https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
レスポンス例:
|
|
97
|
+
```json
|
|
98
|
+
[
|
|
99
|
+
{
|
|
100
|
+
"id": "10001",
|
|
101
|
+
"name": "Story",
|
|
102
|
+
"subtask": false
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "10002",
|
|
106
|
+
"name": "Sub-task",
|
|
107
|
+
"subtask": true
|
|
108
|
+
}
|
|
109
|
+
]
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
2. `.env` ファイルを更新
|
|
113
|
+
```bash
|
|
114
|
+
JIRA_ISSUE_TYPE_STORY=10001
|
|
115
|
+
JIRA_ISSUE_TYPE_SUBTASK=10002
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
3. プリフライトチェックで確認
|
|
119
|
+
```bash
|
|
120
|
+
michi preflight jira
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
### カスタムフィールドIDが見つからない
|
|
124
|
+
|
|
125
|
+
**症状**:
|
|
126
|
+
```
|
|
127
|
+
❌ Custom field not found: customfield_10016
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**原因**:
|
|
131
|
+
- `JIRA_STORY_POINTS_FIELD` または `JIRA_EPIC_LINK_FIELD` の値が実際のJIRA環境のカスタムフィールド IDと一致していない
|
|
132
|
+
|
|
133
|
+
**解決策**:
|
|
134
|
+
|
|
135
|
+
1. REST APIでカスタムフィールド IDを確認
|
|
136
|
+
```bash
|
|
137
|
+
curl -u your-email@company.com:your-token \
|
|
138
|
+
https://your-domain.atlassian.net/rest/api/3/field
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
2. レスポンスから該当フィールドの `"id"` を確認
|
|
142
|
+
```json
|
|
143
|
+
[
|
|
144
|
+
{
|
|
145
|
+
"id": "customfield_10016",
|
|
146
|
+
"name": "Story Points"
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "customfield_10014",
|
|
150
|
+
"name": "Epic Link"
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
3. `.env` ファイルを更新
|
|
156
|
+
```bash
|
|
157
|
+
JIRA_STORY_POINTS_FIELD=customfield_10016
|
|
158
|
+
JIRA_EPIC_LINK_FIELD=customfield_10014
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## Confluenceエラー
|
|
162
|
+
|
|
163
|
+
### Confluenceページ作成失敗
|
|
164
|
+
|
|
165
|
+
**症状**:
|
|
166
|
+
```
|
|
167
|
+
❌ Confluenceページ作成失敗: Space not found
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
**原因**:
|
|
171
|
+
- `CONFLUENCE_PRD_SPACE` が存在しない
|
|
172
|
+
- スペースへのアクセス権限がない
|
|
173
|
+
|
|
174
|
+
**解決策**:
|
|
175
|
+
|
|
176
|
+
1. スペースの存在確認
|
|
177
|
+
```bash
|
|
178
|
+
curl -u your-email@company.com:your-token \
|
|
179
|
+
https://your-domain.atlassian.net/wiki/rest/api/space/PRD
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
2. スペースキーを確認
|
|
183
|
+
- Confluenceでスペースを開く
|
|
184
|
+
- URLから正しいスペースキーを確認(例: `/wiki/spaces/PRD/`)
|
|
185
|
+
|
|
186
|
+
3. `.env` ファイルを更新
|
|
187
|
+
```bash
|
|
188
|
+
CONFLUENCE_PRD_SPACE=CORRECT_SPACE_KEY
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
4. アクセス権限を確認
|
|
192
|
+
- スペース管理者に確認
|
|
193
|
+
- 必要に応じてアクセス権限を付与
|
|
194
|
+
|
|
195
|
+
### Confluenceページが見つからない
|
|
196
|
+
|
|
197
|
+
**症状**:
|
|
198
|
+
```
|
|
199
|
+
❌ Confluence page not found: Page ID not found
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
**原因**:
|
|
203
|
+
- `CONFLUENCE_APPROVAL_PAGE_ID` が間違っている
|
|
204
|
+
- ページが削除されている
|
|
205
|
+
|
|
206
|
+
**解決策**:
|
|
207
|
+
|
|
208
|
+
1. ページIDを確認
|
|
209
|
+
- Confluenceでページを開く
|
|
210
|
+
- URLからページIDを確認(例: `/wiki/spaces/PRD/pages/123456/`)
|
|
211
|
+
- `123456` がページID
|
|
212
|
+
|
|
213
|
+
2. `.env` ファイルを更新
|
|
214
|
+
```bash
|
|
215
|
+
CONFLUENCE_APPROVAL_PAGE_ID=123456
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## テンプレートファイル不足エラー
|
|
219
|
+
|
|
220
|
+
### requirements.md/design.md/tasks.mdが存在しない
|
|
221
|
+
|
|
222
|
+
**症状**:
|
|
223
|
+
```
|
|
224
|
+
❌ requirements.mdが存在しません。先に/kiro:spec-requirements を実行してください
|
|
225
|
+
❌ design.mdが存在しません。先に/kiro:spec-design を実行してください
|
|
226
|
+
❌ tasks.mdが存在しません。先に/kiro:spec-tasks を実行してください
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
**原因**:
|
|
230
|
+
- 前のPhaseを実行していない
|
|
231
|
+
- AIコマンドが正常に完了していない
|
|
232
|
+
|
|
233
|
+
**解決策**:
|
|
234
|
+
|
|
235
|
+
1. Phase順序を確認
|
|
236
|
+
```
|
|
237
|
+
Phase 0.0 → 0.1 → 0.2 → 0.5 → Phase 2
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
2. 各Phaseを順番に実行
|
|
241
|
+
```bash
|
|
242
|
+
# Phase 0.1: 要件定義
|
|
243
|
+
/kiro:spec-requirements calculator-app
|
|
244
|
+
|
|
245
|
+
# Phase 0.2: 設計
|
|
246
|
+
/michi:spec-design calculator-app
|
|
247
|
+
|
|
248
|
+
# Phase 0.5: タスク分割
|
|
249
|
+
/michi:spec-tasks calculator-app
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
3. ファイルの存在確認
|
|
253
|
+
```bash
|
|
254
|
+
ls -la .kiro/specs/calculator-app/
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
## tasks.mdフォーマットエラー
|
|
258
|
+
|
|
259
|
+
### AI-DLC形式が検出された
|
|
260
|
+
|
|
261
|
+
**症状**:
|
|
262
|
+
```
|
|
263
|
+
⚠️ AI-DLC形式が検出されました
|
|
264
|
+
tasks.mdはMichiワークフロー形式ではなくAI-DLC形式です。
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
**原因**:
|
|
268
|
+
- `tasks.md` がAI-DLC形式で作成されている
|
|
269
|
+
- Michiワークフロー形式に変換する必要がある
|
|
270
|
+
|
|
271
|
+
**解決策**:
|
|
272
|
+
|
|
273
|
+
1. 対話的変換(推奨)
|
|
274
|
+
```bash
|
|
275
|
+
michi phase:run calculator-app tasks
|
|
276
|
+
# 変換を提案されるので、"Yes"を選択
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
2. 手動変換
|
|
280
|
+
```bash
|
|
281
|
+
# プレビュー
|
|
282
|
+
michi tasks:convert calculator-app --dry-run
|
|
283
|
+
|
|
284
|
+
# バックアップ付きで変換
|
|
285
|
+
michi tasks:convert calculator-app --backup
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
3. 変換結果を確認
|
|
289
|
+
```bash
|
|
290
|
+
cat .kiro/specs/calculator-app/tasks.md
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### フォーマット検証失敗
|
|
294
|
+
|
|
295
|
+
**症状**:
|
|
296
|
+
```
|
|
297
|
+
❌ フォーマット検証失敗: Invalid tasks.md format
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
**原因**:
|
|
301
|
+
- `tasks.md` がMichiワークフロー形式の要件を満たしていない
|
|
302
|
+
|
|
303
|
+
**解決策**:
|
|
304
|
+
|
|
305
|
+
1. テンプレートと比較
|
|
306
|
+
```bash
|
|
307
|
+
# テンプレートを確認
|
|
308
|
+
cat docs/user-guide/reference/tasks-template.md
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
2. 必須セクションを確認
|
|
312
|
+
- `# タスク分割`
|
|
313
|
+
- `## Story 1:` (少なくとも1つのStory)
|
|
314
|
+
- `### Subtask 1.1:` (Storyごとに少なくとも1つのSubtask)
|
|
315
|
+
|
|
316
|
+
3. 手動で修正
|
|
317
|
+
- テンプレートに従って `tasks.md` を修正
|
|
318
|
+
- 再度フォーマット検証を実行
|
|
319
|
+
|
|
320
|
+
## MCP接続エラー
|
|
321
|
+
|
|
322
|
+
### MCPサーバーに接続できない(Cursor)
|
|
323
|
+
|
|
324
|
+
**症状**:
|
|
325
|
+
```
|
|
326
|
+
❌ Failed to connect to MCP server: atlassian
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
**原因**:
|
|
330
|
+
- `mcp.json` の設定が間違っている
|
|
331
|
+
- MCPサーバーがインストールされていない
|
|
332
|
+
- 認証情報が間違っている
|
|
333
|
+
|
|
334
|
+
**解決策**:
|
|
335
|
+
|
|
336
|
+
1. `mcp.json` の配置場所を確認
|
|
337
|
+
- **Windows**: `%APPDATA%\Cursor\User\globalStorage\saoudrizwan.claude-dev\settings\mcp.json`
|
|
338
|
+
- **macOS**: `~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/mcp.json`
|
|
339
|
+
- **Linux**: `~/.config/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/mcp.json`
|
|
340
|
+
|
|
341
|
+
2. `mcp.json` の内容を確認
|
|
342
|
+
```json
|
|
343
|
+
{
|
|
344
|
+
"mcpServers": {
|
|
345
|
+
"atlassian": {
|
|
346
|
+
"command": "npx",
|
|
347
|
+
"args": ["-y", "@atlassian/mcp-server-atlassian"],
|
|
348
|
+
"env": {
|
|
349
|
+
"ATLASSIAN_URL": "https://your-domain.atlassian.net",
|
|
350
|
+
"ATLASSIAN_EMAIL": "your-email@company.com",
|
|
351
|
+
"ATLASSIAN_API_TOKEN": "your-token-here"
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
3. MCPサーバーを手動でテスト
|
|
359
|
+
```bash
|
|
360
|
+
npx -y @atlassian/mcp-server-atlassian
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
4. Cursorを再起動
|
|
364
|
+
|
|
365
|
+
## レートリミット超過エラー
|
|
366
|
+
|
|
367
|
+
**症状**:
|
|
368
|
+
```
|
|
369
|
+
❌ Too Many Requests (429)
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
**原因**:
|
|
373
|
+
- Atlassian APIのレートリミットを超過している
|
|
374
|
+
|
|
375
|
+
**解決策**:
|
|
376
|
+
|
|
377
|
+
1. リクエスト間隔を増やす
|
|
378
|
+
```bash
|
|
379
|
+
# .envファイルに追加
|
|
380
|
+
ATLASSIAN_REQUEST_DELAY=1000
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
2. 再度実行
|
|
384
|
+
```bash
|
|
385
|
+
michi phase:run calculator-app tasks
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
## 環境変数未設定エラー
|
|
389
|
+
|
|
390
|
+
**症状**:
|
|
391
|
+
```
|
|
392
|
+
❌ Environment variable not set: ATLASSIAN_URL
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
**原因**:
|
|
396
|
+
- 必須の環境変数が `.env` ファイルに設定されていない
|
|
397
|
+
|
|
398
|
+
**解決策**:
|
|
399
|
+
|
|
400
|
+
1. `.env` ファイルを作成
|
|
401
|
+
```bash
|
|
402
|
+
cp env.example .env
|
|
403
|
+
```
|
|
404
|
+
|
|
405
|
+
2. 必須の環境変数を設定
|
|
406
|
+
```bash
|
|
407
|
+
# 必須
|
|
408
|
+
ATLASSIAN_URL=https://your-domain.atlassian.net
|
|
409
|
+
ATLASSIAN_EMAIL=your-email@company.com
|
|
410
|
+
ATLASSIAN_API_TOKEN=your-token-here
|
|
411
|
+
JIRA_PROJECT_KEYS=PROJECT
|
|
412
|
+
JIRA_ISSUE_TYPE_STORY=10036
|
|
413
|
+
JIRA_ISSUE_TYPE_SUBTASK=10037
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
3. プリフライトチェックで確認
|
|
417
|
+
```bash
|
|
418
|
+
michi preflight
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
## Phase実行エラー
|
|
422
|
+
|
|
423
|
+
### プリフライトチェック失敗
|
|
424
|
+
|
|
425
|
+
**症状**:
|
|
426
|
+
```
|
|
427
|
+
❌ プリフライトチェック失敗
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
**原因**:
|
|
431
|
+
- 必須の環境変数が未設定
|
|
432
|
+
- JIRA/Confluenceへの接続失敗
|
|
433
|
+
|
|
434
|
+
**解決策**:
|
|
435
|
+
|
|
436
|
+
1. 個別に接続確認
|
|
437
|
+
```bash
|
|
438
|
+
# JIRA接続確認
|
|
439
|
+
michi preflight jira
|
|
440
|
+
|
|
441
|
+
# Confluence接続確認
|
|
442
|
+
michi preflight confluence
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
2. エラーメッセージに従って設定を修正
|
|
446
|
+
|
|
447
|
+
3. 再度プリフライトチェック
|
|
448
|
+
```bash
|
|
449
|
+
michi preflight
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
### JIRA Epic/Story作成失敗
|
|
453
|
+
|
|
454
|
+
**症状**:
|
|
455
|
+
```
|
|
456
|
+
❌ JIRA作成失敗: Project not found
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
**原因**:
|
|
460
|
+
- `JIRA_PROJECT_KEYS` が存在しない
|
|
461
|
+
- プロジェクトへのアクセス権限がない
|
|
462
|
+
|
|
463
|
+
**解決策**:
|
|
464
|
+
|
|
465
|
+
1. プロジェクトキーを確認
|
|
466
|
+
```bash
|
|
467
|
+
curl -u your-email@company.com:your-token \
|
|
468
|
+
https://your-domain.atlassian.net/rest/api/3/project
|
|
469
|
+
```
|
|
470
|
+
|
|
471
|
+
2. `.env` ファイルを更新
|
|
472
|
+
```bash
|
|
473
|
+
JIRA_PROJECT_KEYS=CORRECT_PROJECT_KEY
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
3. アクセス権限を確認
|
|
477
|
+
- JIRA管理者に確認
|
|
478
|
+
- 必要に応じてプロジェクトへのアクセス権限を付与
|
|
479
|
+
|
|
480
|
+
## その他の問題
|
|
481
|
+
|
|
482
|
+
### ワークフロー統合実行が途中で停止する
|
|
483
|
+
|
|
484
|
+
**症状**:
|
|
485
|
+
```
|
|
486
|
+
❌ Workflow failed: Stage failed
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
**原因**:
|
|
490
|
+
- 承認ゲートで承認待ち
|
|
491
|
+
- 中間Phaseでエラー発生
|
|
492
|
+
|
|
493
|
+
**解決策**:
|
|
494
|
+
|
|
495
|
+
1. ログを確認
|
|
496
|
+
```bash
|
|
497
|
+
michi workflow:run --feature calculator-app
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
2. 承認ゲートの場合
|
|
501
|
+
- Confluenceで承認を完了させる
|
|
502
|
+
- 手動承認の場合は、プロンプトで確認
|
|
503
|
+
|
|
504
|
+
3. エラーの場合
|
|
505
|
+
- エラーメッセージに従って設定を修正
|
|
506
|
+
- 該当Phaseを個別に再実行
|
|
507
|
+
|
|
508
|
+
### セキュリティチェックで警告が出る
|
|
509
|
+
|
|
510
|
+
**症状**:
|
|
511
|
+
```
|
|
512
|
+
⚠️ Potential security issue detected
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
**原因**:
|
|
516
|
+
- `.env` ファイルがGit管理下にある
|
|
517
|
+
- 認証情報がハードコードされている
|
|
518
|
+
|
|
519
|
+
**解決策**:
|
|
520
|
+
|
|
521
|
+
1. `.gitignore` を確認
|
|
522
|
+
```bash
|
|
523
|
+
cat .gitignore | grep .env
|
|
524
|
+
```
|
|
525
|
+
|
|
526
|
+
2. `.env` をGit管理から除外
|
|
527
|
+
```bash
|
|
528
|
+
git rm --cached .env
|
|
529
|
+
echo ".env" >> .gitignore
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
3. セキュリティチェックを再実行
|
|
533
|
+
```bash
|
|
534
|
+
michi config:check-security
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
## サポート
|
|
538
|
+
|
|
539
|
+
上記で解決しない場合は、以下をご確認ください:
|
|
540
|
+
|
|
541
|
+
- [環境変数リファレンス](reference/environment-variables.md)
|
|
542
|
+
- [ワークフローガイド](guides/workflow.md)
|
|
543
|
+
- [GitHub Issues](https://github.com/gotalab/michi/issues) - バグ報告・機能要望
|
package/package.json
CHANGED
package/scripts/phase-runner.ts
CHANGED
|
@@ -229,7 +229,7 @@ async function checkTasksPrerequisites(
|
|
|
229
229
|
const tasksPath = join(process.cwd(), '.kiro', 'specs', feature, 'tasks.md');
|
|
230
230
|
if (!existsSync(tasksPath)) {
|
|
231
231
|
errors.push(
|
|
232
|
-
'tasks.mdが存在しません。先に/
|
|
232
|
+
'tasks.mdが存在しません。先に/michi:spec-tasks を実行してください',
|
|
233
233
|
);
|
|
234
234
|
return { valid: false, errors };
|
|
235
235
|
}
|