@sk8metal/michi-cli 0.10.1 → 0.12.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 +71 -848
- package/dist/scripts/constants/environments.d.ts +1 -1
- package/dist/scripts/constants/environments.d.ts.map +1 -1
- package/dist/scripts/constants/environments.js +0 -20
- package/dist/scripts/constants/environments.js.map +1 -1
- 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/dist/scripts/utils/template-finder.d.ts +2 -2
- package/dist/scripts/utils/template-finder.d.ts.map +1 -1
- package/dist/scripts/utils/template-finder.js +3 -8
- package/dist/scripts/utils/template-finder.js.map +1 -1
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +0 -8
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/init.d.ts +0 -4
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +6 -30
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/setup-existing.d.ts +2 -6
- package/dist/src/commands/setup-existing.d.ts.map +1 -1
- package/dist/src/commands/setup-existing.js +8 -142
- package/dist/src/commands/setup-existing.js.map +1 -1
- package/docs/README.md +20 -83
- package/docs/getting-started/configuration.md +350 -0
- package/docs/getting-started/installation.md +59 -0
- package/docs/getting-started/quick-start.md +76 -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 +752 -0
- package/docs/reference/environment-variables.md +192 -0
- package/docs/troubleshooting.md +498 -0
- package/package.json +1 -3
- package/scripts/__tests__/create-project.test.ts +12 -12
- package/scripts/__tests__/setup-existing-project.test.ts +22 -22
- package/scripts/constants/__tests__/environments.test.ts +7 -50
- package/scripts/constants/environments.ts +1 -27
- package/scripts/phase-runner.ts +1 -1
- package/scripts/template/__tests__/renderer.test.ts +21 -21
- 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/scripts/utils/template-finder.ts +5 -11
- 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/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
- package/templates/cline/rules/atlassian-integration.md +0 -36
- package/templates/cline/rules/michi-core.md +0 -56
- package/templates/codex/AGENTS.override.md +0 -277
- package/templates/codex/prompts/confluence-sync.md +0 -177
- package/templates/codex/rules/README.md +0 -210
- package/templates/cursor/commands/kiro/kiro-spec-impl.md +0 -244
- package/templates/cursor/commands/kiro/kiro-spec-tasks.md +0 -354
- package/templates/cursor/commands/michi/confluence-sync.md +0 -76
- package/templates/cursor/commands/michi/project-switch.md +0 -69
- package/templates/cursor/rules/atlassian-mcp.mdc +0 -188
- package/templates/cursor/rules/github-ssot.mdc +0 -151
- package/templates/cursor/rules/multi-project.mdc +0 -81
- package/templates/gemini/commands/README.md +0 -41
- package/templates/gemini/rules/GEMINI.md +0 -80
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
# 環境変数リファレンス
|
|
2
|
+
|
|
3
|
+
このドキュメントでは、Michiで使用するすべての環境変数を説明します。
|
|
4
|
+
|
|
5
|
+
## 環境変数の読み込み順序
|
|
6
|
+
|
|
7
|
+
Michiは以下の順序で環境変数を読み込みます。後から読み込まれた値が優先されます。
|
|
8
|
+
|
|
9
|
+
1. **システム環境変数**
|
|
10
|
+
2. **グローバル設定**(`~/.michi/.env`)
|
|
11
|
+
3. **プロジェクト設定**(`.env`)← 最優先
|
|
12
|
+
|
|
13
|
+
## 環境変数一覧
|
|
14
|
+
|
|
15
|
+
### Atlassian認証(必須)
|
|
16
|
+
|
|
17
|
+
| 変数名 | 必須/オプション | デフォルト値 | 説明 |
|
|
18
|
+
|--------|----------------|--------------|------|
|
|
19
|
+
| `ATLASSIAN_URL` | 必須 | - | AtlassianサイトのベースURL(例: `https://your-domain.atlassian.net`) |
|
|
20
|
+
| `ATLASSIAN_EMAIL` | 必須 | - | Atlassianアカウントのメールアドレス |
|
|
21
|
+
| `ATLASSIAN_API_TOKEN` | 必須 | - | Atlassian API トークン([取得方法](https://id.atlassian.com/manage-profile/security/api-tokens)) |
|
|
22
|
+
| `ATLASSIAN_REQUEST_DELAY` | オプション | `500` | APIリクエスト間隔(ミリ秒)。レートリミット対策 |
|
|
23
|
+
|
|
24
|
+
### JIRA設定(必須)
|
|
25
|
+
|
|
26
|
+
| 変数名 | 必須/オプション | デフォルト値 | 説明 |
|
|
27
|
+
|--------|----------------|--------------|------|
|
|
28
|
+
| `JIRA_PROJECT_KEYS` | 必須 | - | JIRAプロジェクトキー(カンマ区切りで複数指定可能、例: `PROJECT1,PROJECT2`) |
|
|
29
|
+
| `JIRA_ISSUE_TYPE_STORY` | 必須 | - | Story Issue Type ID(JIRAインスタンス固有、例: `10036`)。[確認方法](#jira-issue-type-id確認方法) |
|
|
30
|
+
| `JIRA_ISSUE_TYPE_SUBTASK` | 必須 | - | Subtask Issue Type ID(JIRAインスタンス固有、例: `10037`)。[確認方法](#jira-issue-type-id確認方法) |
|
|
31
|
+
| `JIRA_STORY_POINTS_FIELD` | オプション | `customfield_100` | Story Pointsのカスタムフィールド ID。[確認方法](#カスタムフィールド確認方法) |
|
|
32
|
+
| `JIRA_EPIC_LINK_FIELD` | オプション | `customfield_10014` | Epic Linkのカスタムフィールド ID。[確認方法](#カスタムフィールド確認方法) |
|
|
33
|
+
|
|
34
|
+
#### JIRA Issue Type ID確認方法
|
|
35
|
+
|
|
36
|
+
**方法1: REST API(推奨)**
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
curl -u your-email@company.com:your-token \
|
|
40
|
+
https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
レスポンスから `"id"` フィールドを確認してください。
|
|
44
|
+
|
|
45
|
+
**方法2: JIRA管理画面**
|
|
46
|
+
|
|
47
|
+
1. JIRA設定 > Issues > Issue types を開く
|
|
48
|
+
2. StoryとSub-taskのIssue Type IDを確認
|
|
49
|
+
|
|
50
|
+
#### カスタムフィールド確認方法
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
curl -u your-email@company.com:your-token \
|
|
54
|
+
https://your-domain.atlassian.net/rest/api/3/field
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
レスポンスから該当フィールドの `"id"` を確認してください。
|
|
58
|
+
|
|
59
|
+
### Confluence設定(オプション)
|
|
60
|
+
|
|
61
|
+
| 変数名 | 必須/オプション | デフォルト値 | 説明 |
|
|
62
|
+
|--------|----------------|--------------|------|
|
|
63
|
+
| `CONFLUENCE_PRD_SPACE` | オプション | `PRD` | 要件定義書・設計書を保存するスペースキー |
|
|
64
|
+
| `CONFLUENCE_QA_SPACE` | オプション | `QA` | テスト関連ドキュメントを保存するスペースキー |
|
|
65
|
+
| `CONFLUENCE_RELEASE_SPACE` | オプション | `RELEASE` | リリースノートを保存するスペースキー |
|
|
66
|
+
| `CONFLUENCE_AUTO_POLL` | オプション | `false` | 承認ゲートで自動ポーリングを有効にする(`true` or `false`) |
|
|
67
|
+
| `CONFLUENCE_APPROVAL_PAGE_ID` | オプション | - | 承認ゲート用のページID(自動ポーリング有効時に必要) |
|
|
68
|
+
|
|
69
|
+
### GitHub設定(オプション)
|
|
70
|
+
|
|
71
|
+
| 変数名 | 必須/オプション | デフォルト値 | 説明 |
|
|
72
|
+
|--------|----------------|--------------|------|
|
|
73
|
+
| `GITHUB_ORG` | オプション | - | GitHub組織名(例: `your-github-org`) |
|
|
74
|
+
| `GITHUB_TOKEN` | オプション | - | GitHub Personal Access Token([取得方法](https://github.com/settings/tokens)) |
|
|
75
|
+
|
|
76
|
+
**注意**: `GITHUB_REPO` は非推奨です。リポジトリ情報は `.kiro/project.json` の `repository` フィールドで管理してください。
|
|
77
|
+
|
|
78
|
+
### Slack通知(オプション)
|
|
79
|
+
|
|
80
|
+
| 変数名 | 必須/オプション | デフォルト値 | 説明 |
|
|
81
|
+
|--------|----------------|--------------|------|
|
|
82
|
+
| `SLACK_WEBHOOK_URL` | オプション | - | Slack Incoming Webhook URL([取得方法](https://api.slack.com/messaging/webhooks)) |
|
|
83
|
+
|
|
84
|
+
### ワークフロー承認ゲート(オプション)
|
|
85
|
+
|
|
86
|
+
| 変数名 | 必須/オプション | デフォルト値 | 説明 |
|
|
87
|
+
|--------|----------------|--------------|------|
|
|
88
|
+
| `APPROVAL_GATES_REQUIREMENTS` | オプション | `pm,director` | 要件定義後の承認者(カンマ区切り) |
|
|
89
|
+
| `APPROVAL_GATES_DESIGN` | オプション | `architect,director` | 設計後の承認者(カンマ区切り) |
|
|
90
|
+
| `APPROVAL_GATES_RELEASE` | オプション | `sm,director` | リリース前の承認者(カンマ区切り) |
|
|
91
|
+
|
|
92
|
+
### リリース設定(オプション)
|
|
93
|
+
|
|
94
|
+
| 変数名 | 必須/オプション | デフォルト値 | 説明 |
|
|
95
|
+
|--------|----------------|--------------|------|
|
|
96
|
+
| `RELEASE_VERSION` | オプション | `v1.0.0` | リリースバージョン(例: `v1.2.3`) |
|
|
97
|
+
|
|
98
|
+
## 設定ファイル構成
|
|
99
|
+
|
|
100
|
+
### グローバル設定(~/.michi/.env)
|
|
101
|
+
|
|
102
|
+
すべてのプロジェクトで共通する認証情報を設定します。
|
|
103
|
+
|
|
104
|
+
**セットアップ**:
|
|
105
|
+
```bash
|
|
106
|
+
mkdir -p ~/.michi
|
|
107
|
+
touch ~/.michi/.env
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
**設定例**:
|
|
111
|
+
```bash
|
|
112
|
+
# Atlassian認証(組織共通)
|
|
113
|
+
ATLASSIAN_URL=https://your-domain.atlassian.net
|
|
114
|
+
ATLASSIAN_EMAIL=your-email@company.com
|
|
115
|
+
ATLASSIAN_API_TOKEN=your-token-here
|
|
116
|
+
|
|
117
|
+
# GitHub設定(組織共通)
|
|
118
|
+
GITHUB_ORG=your-github-org
|
|
119
|
+
GITHUB_TOKEN=ghp_xxxxxxxxxxxxx
|
|
120
|
+
|
|
121
|
+
# Confluenceスペース(組織共通)
|
|
122
|
+
CONFLUENCE_PRD_SPACE=PRD
|
|
123
|
+
CONFLUENCE_QA_SPACE=QA
|
|
124
|
+
CONFLUENCE_RELEASE_SPACE=RELEASE
|
|
125
|
+
|
|
126
|
+
# JIRA設定(組織共通)
|
|
127
|
+
JIRA_PROJECT_KEYS=PROJECT
|
|
128
|
+
JIRA_ISSUE_TYPE_STORY=10036
|
|
129
|
+
JIRA_ISSUE_TYPE_SUBTASK=10037
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
**メリット**:
|
|
133
|
+
- すべてのプロジェクトで共通の認証情報を一度だけ定義
|
|
134
|
+
- 新しいプロジェクトでも認証情報の再入力が不要
|
|
135
|
+
|
|
136
|
+
**セキュリティ上の注意**:
|
|
137
|
+
- 単一組織の場合: グローバル設定を推奨
|
|
138
|
+
- 複数組織の場合: プロジェクトごとに `.env` を設定することを推奨
|
|
139
|
+
|
|
140
|
+
### プロジェクト設定(.env)
|
|
141
|
+
|
|
142
|
+
プロジェクト固有の設定や、グローバル設定を上書きする場合に使用します。
|
|
143
|
+
|
|
144
|
+
**セットアップ**:
|
|
145
|
+
```bash
|
|
146
|
+
cp env.example .env
|
|
147
|
+
# その後、.envを編集
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**設定例**:
|
|
151
|
+
```bash
|
|
152
|
+
# プロジェクト固有のJIRA設定
|
|
153
|
+
JIRA_PROJECT_KEYS=MY_PROJECT
|
|
154
|
+
|
|
155
|
+
# プロジェクト固有のConfluenceスペース
|
|
156
|
+
CONFLUENCE_PRD_SPACE=MY_PROJECT_PRD
|
|
157
|
+
|
|
158
|
+
# その他の設定はグローバル設定を使用
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
## 環境変数の検証
|
|
162
|
+
|
|
163
|
+
設定した環境変数が正しいことを確認します。
|
|
164
|
+
|
|
165
|
+
### すべての設定を検証
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
michi preflight
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### JIRA接続確認
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
michi preflight jira
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Confluence接続確認
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
michi preflight confluence
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
### セキュリティチェック
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
michi config:check-security
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## 次のステップ
|
|
190
|
+
|
|
191
|
+
- [トラブルシューティング](../troubleshooting.md) - よくある問題と解決策
|
|
192
|
+
- [環境設定ガイド](../getting-started/configuration.md) - 詳細な設定手順
|
|
@@ -0,0 +1,498 @@
|
|
|
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
|
+
## レートリミット超過エラー
|
|
321
|
+
|
|
322
|
+
**症状**:
|
|
323
|
+
```
|
|
324
|
+
❌ Too Many Requests (429)
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
**原因**:
|
|
328
|
+
- Atlassian APIのレートリミットを超過している
|
|
329
|
+
|
|
330
|
+
**解決策**:
|
|
331
|
+
|
|
332
|
+
1. リクエスト間隔を増やす
|
|
333
|
+
```bash
|
|
334
|
+
# .envファイルに追加
|
|
335
|
+
ATLASSIAN_REQUEST_DELAY=1000
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
2. 再度実行
|
|
339
|
+
```bash
|
|
340
|
+
michi phase:run calculator-app tasks
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
## 環境変数未設定エラー
|
|
344
|
+
|
|
345
|
+
**症状**:
|
|
346
|
+
```
|
|
347
|
+
❌ Environment variable not set: ATLASSIAN_URL
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
**原因**:
|
|
351
|
+
- 必須の環境変数が `.env` ファイルに設定されていない
|
|
352
|
+
|
|
353
|
+
**解決策**:
|
|
354
|
+
|
|
355
|
+
1. `.env` ファイルを作成
|
|
356
|
+
```bash
|
|
357
|
+
cp env.example .env
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
2. 必須の環境変数を設定
|
|
361
|
+
```bash
|
|
362
|
+
# 必須
|
|
363
|
+
ATLASSIAN_URL=https://your-domain.atlassian.net
|
|
364
|
+
ATLASSIAN_EMAIL=your-email@company.com
|
|
365
|
+
ATLASSIAN_API_TOKEN=your-token-here
|
|
366
|
+
JIRA_PROJECT_KEYS=PROJECT
|
|
367
|
+
JIRA_ISSUE_TYPE_STORY=10036
|
|
368
|
+
JIRA_ISSUE_TYPE_SUBTASK=10037
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
3. プリフライトチェックで確認
|
|
372
|
+
```bash
|
|
373
|
+
michi preflight
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
## Phase実行エラー
|
|
377
|
+
|
|
378
|
+
### プリフライトチェック失敗
|
|
379
|
+
|
|
380
|
+
**症状**:
|
|
381
|
+
```
|
|
382
|
+
❌ プリフライトチェック失敗
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
**原因**:
|
|
386
|
+
- 必須の環境変数が未設定
|
|
387
|
+
- JIRA/Confluenceへの接続失敗
|
|
388
|
+
|
|
389
|
+
**解決策**:
|
|
390
|
+
|
|
391
|
+
1. 個別に接続確認
|
|
392
|
+
```bash
|
|
393
|
+
# JIRA接続確認
|
|
394
|
+
michi preflight jira
|
|
395
|
+
|
|
396
|
+
# Confluence接続確認
|
|
397
|
+
michi preflight confluence
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
2. エラーメッセージに従って設定を修正
|
|
401
|
+
|
|
402
|
+
3. 再度プリフライトチェック
|
|
403
|
+
```bash
|
|
404
|
+
michi preflight
|
|
405
|
+
```
|
|
406
|
+
|
|
407
|
+
### JIRA Epic/Story作成失敗
|
|
408
|
+
|
|
409
|
+
**症状**:
|
|
410
|
+
```
|
|
411
|
+
❌ JIRA作成失敗: Project not found
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
**原因**:
|
|
415
|
+
- `JIRA_PROJECT_KEYS` が存在しない
|
|
416
|
+
- プロジェクトへのアクセス権限がない
|
|
417
|
+
|
|
418
|
+
**解決策**:
|
|
419
|
+
|
|
420
|
+
1. プロジェクトキーを確認
|
|
421
|
+
```bash
|
|
422
|
+
curl -u your-email@company.com:your-token \
|
|
423
|
+
https://your-domain.atlassian.net/rest/api/3/project
|
|
424
|
+
```
|
|
425
|
+
|
|
426
|
+
2. `.env` ファイルを更新
|
|
427
|
+
```bash
|
|
428
|
+
JIRA_PROJECT_KEYS=CORRECT_PROJECT_KEY
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
3. アクセス権限を確認
|
|
432
|
+
- JIRA管理者に確認
|
|
433
|
+
- 必要に応じてプロジェクトへのアクセス権限を付与
|
|
434
|
+
|
|
435
|
+
## その他の問題
|
|
436
|
+
|
|
437
|
+
### ワークフロー統合実行が途中で停止する
|
|
438
|
+
|
|
439
|
+
**症状**:
|
|
440
|
+
```
|
|
441
|
+
❌ Workflow failed: Stage failed
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
**原因**:
|
|
445
|
+
- 承認ゲートで承認待ち
|
|
446
|
+
- 中間Phaseでエラー発生
|
|
447
|
+
|
|
448
|
+
**解決策**:
|
|
449
|
+
|
|
450
|
+
1. ログを確認
|
|
451
|
+
```bash
|
|
452
|
+
michi workflow:run --feature calculator-app
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
2. 承認ゲートの場合
|
|
456
|
+
- Confluenceで承認を完了させる
|
|
457
|
+
- 手動承認の場合は、プロンプトで確認
|
|
458
|
+
|
|
459
|
+
3. エラーの場合
|
|
460
|
+
- エラーメッセージに従って設定を修正
|
|
461
|
+
- 該当Phaseを個別に再実行
|
|
462
|
+
|
|
463
|
+
### セキュリティチェックで警告が出る
|
|
464
|
+
|
|
465
|
+
**症状**:
|
|
466
|
+
```
|
|
467
|
+
⚠️ Potential security issue detected
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
**原因**:
|
|
471
|
+
- `.env` ファイルがGit管理下にある
|
|
472
|
+
- 認証情報がハードコードされている
|
|
473
|
+
|
|
474
|
+
**解決策**:
|
|
475
|
+
|
|
476
|
+
1. `.gitignore` を確認
|
|
477
|
+
```bash
|
|
478
|
+
cat .gitignore | grep .env
|
|
479
|
+
```
|
|
480
|
+
|
|
481
|
+
2. `.env` をGit管理から除外
|
|
482
|
+
```bash
|
|
483
|
+
git rm --cached .env
|
|
484
|
+
echo ".env" >> .gitignore
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
3. セキュリティチェックを再実行
|
|
488
|
+
```bash
|
|
489
|
+
michi config:check-security
|
|
490
|
+
```
|
|
491
|
+
|
|
492
|
+
## サポート
|
|
493
|
+
|
|
494
|
+
上記で解決しない場合は、以下をご確認ください:
|
|
495
|
+
|
|
496
|
+
- [環境変数リファレンス](reference/environment-variables.md)
|
|
497
|
+
- [ワークフローガイド](guides/workflow.md)
|
|
498
|
+
- [GitHub Issues](https://github.com/gotalab/michi/issues) - バグ報告・機能要望
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sk8metal/michi-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "Managed Intelligent Comprehensive Hub for Integration - AI-driven development workflow automation",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,6 @@
|
|
|
25
25
|
"atlassian",
|
|
26
26
|
"spec-driven-development",
|
|
27
27
|
"cc-sdd",
|
|
28
|
-
"cursor",
|
|
29
28
|
"github"
|
|
30
29
|
],
|
|
31
30
|
"bin": {
|
|
@@ -46,7 +45,6 @@
|
|
|
46
45
|
"build": "tsc && node scripts/copy-static-assets.js",
|
|
47
46
|
"postbuild": "node scripts/set-permissions.js",
|
|
48
47
|
"prepare": "husky",
|
|
49
|
-
"michi:setup:cursor": "tsx src/cli.ts setup-existing --cursor",
|
|
50
48
|
"michi:setup:claude": "tsx src/cli.ts setup-existing --claude",
|
|
51
49
|
"michi:setup:claude-agent": "tsx src/cli.ts setup-existing --claude-agent",
|
|
52
50
|
"confluence:sync": "tsx scripts/confluence-sync.ts",
|