@sk8metal/michi-cli 0.0.7 → 0.0.9
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/CHANGELOG.md +55 -0
- package/README.md +205 -11
- package/dist/scripts/__tests__/create-project.test.d.ts +2 -0
- package/dist/scripts/__tests__/create-project.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/create-project.test.js +247 -0
- package/dist/scripts/__tests__/create-project.test.js.map +1 -0
- package/dist/scripts/__tests__/multi-project-estimate.test.d.ts +2 -0
- package/dist/scripts/__tests__/multi-project-estimate.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/multi-project-estimate.test.js +119 -0
- package/dist/scripts/__tests__/multi-project-estimate.test.js.map +1 -0
- package/dist/scripts/__tests__/setup-existing-project.test.d.ts +2 -0
- package/dist/scripts/__tests__/setup-existing-project.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/setup-existing-project.test.js +129 -0
- package/dist/scripts/__tests__/setup-existing-project.test.js.map +1 -0
- package/dist/scripts/__tests__/setup-interactive.test.d.ts +2 -0
- package/dist/scripts/__tests__/setup-interactive.test.d.ts.map +1 -0
- package/dist/scripts/__tests__/setup-interactive.test.js +160 -0
- package/dist/scripts/__tests__/setup-interactive.test.js.map +1 -0
- package/dist/scripts/config/default-config.json +57 -0
- package/dist/scripts/confluence-sync.d.ts +4 -0
- package/dist/scripts/confluence-sync.d.ts.map +1 -1
- package/dist/scripts/confluence-sync.js +12 -23
- package/dist/scripts/confluence-sync.js.map +1 -1
- package/dist/scripts/constants/__tests__/environments.test.d.ts +2 -0
- package/dist/scripts/constants/__tests__/environments.test.d.ts.map +1 -0
- package/dist/scripts/constants/__tests__/environments.test.js +91 -0
- package/dist/scripts/constants/__tests__/environments.test.js.map +1 -0
- package/dist/scripts/constants/__tests__/languages.test.d.ts +2 -0
- package/dist/scripts/constants/__tests__/languages.test.d.ts.map +1 -0
- package/dist/scripts/constants/__tests__/languages.test.js +82 -0
- package/dist/scripts/constants/__tests__/languages.test.js.map +1 -0
- package/dist/scripts/constants/environments.d.ts +33 -0
- package/dist/scripts/constants/environments.d.ts.map +1 -0
- package/dist/scripts/constants/environments.js +49 -0
- package/dist/scripts/constants/environments.js.map +1 -0
- package/dist/scripts/constants/languages.d.ts +23 -0
- package/dist/scripts/constants/languages.d.ts.map +1 -0
- package/dist/scripts/constants/languages.js +53 -0
- package/dist/scripts/constants/languages.js.map +1 -0
- package/dist/scripts/create-project.d.ts +4 -0
- package/dist/scripts/create-project.d.ts.map +1 -1
- package/dist/scripts/create-project.js +227 -137
- package/dist/scripts/create-project.js.map +1 -1
- package/dist/scripts/jira-sync.d.ts.map +1 -1
- package/dist/scripts/jira-sync.js +15 -0
- package/dist/scripts/jira-sync.js.map +1 -1
- package/dist/scripts/list-projects.d.ts.map +1 -1
- package/dist/scripts/list-projects.js +42 -15
- package/dist/scripts/list-projects.js.map +1 -1
- package/dist/scripts/multi-project-estimate.d.ts.map +1 -1
- package/dist/scripts/multi-project-estimate.js +56 -21
- package/dist/scripts/multi-project-estimate.js.map +1 -1
- package/dist/scripts/resource-dashboard.d.ts.map +1 -1
- package/dist/scripts/resource-dashboard.js +74 -17
- package/dist/scripts/resource-dashboard.js.map +1 -1
- package/dist/scripts/setup-existing-project.d.ts +3 -1
- package/dist/scripts/setup-existing-project.d.ts.map +1 -1
- package/dist/scripts/setup-existing-project.js +306 -217
- package/dist/scripts/setup-existing-project.js.map +1 -1
- package/dist/scripts/setup-interactive.d.ts +10 -0
- package/dist/scripts/setup-interactive.d.ts.map +1 -0
- package/dist/scripts/setup-interactive.js +413 -0
- package/dist/scripts/setup-interactive.js.map +1 -0
- package/dist/scripts/template/__tests__/renderer.test.d.ts +2 -0
- package/dist/scripts/template/__tests__/renderer.test.d.ts.map +1 -0
- package/dist/scripts/template/__tests__/renderer.test.js +165 -0
- package/dist/scripts/template/__tests__/renderer.test.js.map +1 -0
- package/dist/scripts/template/renderer.d.ts +70 -0
- package/dist/scripts/template/renderer.d.ts.map +1 -0
- package/dist/scripts/template/renderer.js +99 -0
- package/dist/scripts/template/renderer.js.map +1 -0
- package/dist/scripts/utils/__tests__/config-validator.test.js +5 -0
- package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
- package/dist/scripts/utils/__tests__/spec-updater.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/spec-updater.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/spec-updater.test.js +158 -0
- package/dist/scripts/utils/__tests__/spec-updater.test.js.map +1 -0
- package/dist/scripts/utils/confluence-hierarchy.d.ts +2 -1
- package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -1
- package/dist/scripts/utils/confluence-hierarchy.js +5 -0
- package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
- package/dist/scripts/utils/project-finder.d.ts +30 -0
- package/dist/scripts/utils/project-finder.d.ts.map +1 -0
- package/dist/scripts/utils/project-finder.js +147 -0
- package/dist/scripts/utils/project-finder.js.map +1 -0
- package/dist/scripts/utils/spec-updater.d.ts +72 -0
- package/dist/scripts/utils/spec-updater.d.ts.map +1 -0
- package/dist/scripts/utils/spec-updater.js +141 -0
- package/dist/scripts/utils/spec-updater.js.map +1 -0
- package/dist/scripts/utils/template-finder.d.ts +37 -0
- package/dist/scripts/utils/template-finder.d.ts.map +1 -0
- package/dist/scripts/utils/template-finder.js +63 -0
- package/dist/scripts/utils/template-finder.js.map +1 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.js +125 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/claude.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/claude.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/claude.test.js +111 -0
- package/dist/src/__tests__/integration/setup/claude.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/cursor.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/cursor.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/cursor.test.js +162 -0
- package/dist/src/__tests__/integration/setup/cursor.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts +32 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js +72 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts +38 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.js +83 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.js.map +1 -0
- package/dist/src/__tests__/integration/setup/validation.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/validation.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/validation.test.js +318 -0
- package/dist/src/__tests__/integration/setup/validation.test.js.map +1 -0
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +20 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/setup-existing.d.ts +22 -0
- package/dist/src/commands/setup-existing.d.ts.map +1 -0
- package/dist/src/commands/setup-existing.js +408 -0
- package/dist/src/commands/setup-existing.js.map +1 -0
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +9 -6
- package/dist/vitest.config.js.map +1 -1
- package/docs/README.md +2 -2
- package/docs/contributing/development.md +37 -0
- package/docs/getting-started/{new-project-setup.md → new-repository-setup.md} +165 -38
- package/docs/getting-started/quick-start.md +57 -6
- package/docs/getting-started/setup.md +551 -180
- package/docs/guides/customization.md +4 -4
- package/docs/guides/multi-project.md +12 -9
- package/docs/reference/quick-reference.md +27 -18
- package/docs/testing/integration-tests.md +297 -0
- package/docs/testing-strategy.md +87 -0
- package/package.json +23 -6
- package/scripts/__tests__/create-project.test.ts +292 -0
- package/scripts/__tests__/multi-project-estimate.test.ts +145 -0
- package/scripts/__tests__/setup-existing-project.test.ts +147 -0
- package/scripts/__tests__/setup-interactive.test.ts +199 -0
- package/scripts/confluence-sync.ts +17 -29
- package/scripts/constants/__tests__/environments.test.ts +110 -0
- package/scripts/constants/__tests__/languages.test.ts +100 -0
- package/scripts/constants/environments.ts +61 -0
- package/scripts/constants/languages.ts +70 -0
- package/scripts/copy-static-assets.js +50 -0
- package/scripts/create-project.ts +251 -158
- package/scripts/jira-sync.ts +16 -1
- package/scripts/list-projects.ts +51 -24
- package/scripts/multi-project-estimate.ts +58 -22
- package/scripts/resource-dashboard.ts +91 -26
- package/scripts/setup-existing-project.ts +350 -230
- package/scripts/setup-existing.sh +159 -25
- package/scripts/setup-interactive.ts +565 -0
- package/scripts/template/__tests__/renderer.test.ts +207 -0
- package/scripts/template/renderer.ts +133 -0
- package/scripts/utils/__tests__/config-validator.test.ts +6 -0
- package/scripts/utils/__tests__/spec-updater.test.ts +220 -0
- package/scripts/utils/confluence-hierarchy.ts +7 -1
- package/scripts/utils/project-finder.ts +184 -0
- package/scripts/utils/spec-updater.ts +212 -0
- package/scripts/utils/template-finder.ts +75 -0
- package/templates/claude/commands/michi/confluence-sync.md +38 -0
- package/templates/claude/commands/michi/project-switch.md +36 -0
- package/templates/claude/rules/atlassian-integration.md +35 -0
- package/templates/claude/rules/michi-core.md +54 -0
- package/templates/claude-agent/README.md +25 -0
- package/templates/cursor/commands/michi/confluence-sync.md +76 -0
- package/templates/cursor/commands/michi/project-switch.md +69 -0
- package/templates/cursor/rules/atlassian-mcp.mdc +188 -0
- package/templates/cursor/rules/github-ssot.mdc +151 -0
- package/templates/cursor/rules/multi-project.mdc +81 -0
- package/scripts/setup-env.sh +0 -52
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# Michi セットアップガイド
|
|
2
2
|
|
|
3
|
+
> **このガイドについて**: 既存のプロジェクトにMichiを導入する手順です。
|
|
4
|
+
> 新規プロジェクトを作成する場合は [新規リポジトリセットアップガイド](./new-repository-setup.md) を参照してください。
|
|
5
|
+
> Michiの開発に貢献する場合は [開発環境セットアップガイド](../contributing/development.md) を参照してください。
|
|
6
|
+
|
|
3
7
|
## 前提条件
|
|
4
8
|
|
|
5
9
|
- Node.js 20.x以上
|
|
@@ -9,9 +13,7 @@
|
|
|
9
13
|
- GitHub CLI (gh) - PR作成時に使用
|
|
10
14
|
- **cc-sdd**: AI駆動開発ワークフローのコアフレームワーク
|
|
11
15
|
|
|
12
|
-
## 1
|
|
13
|
-
|
|
14
|
-
### 方法1: NPMパッケージとしてインストール(推奨)
|
|
16
|
+
## Step 1: Michi CLIのインストール
|
|
15
17
|
|
|
16
18
|
```bash
|
|
17
19
|
# グローバルインストール
|
|
@@ -24,35 +26,18 @@ michi --help
|
|
|
24
26
|
|
|
25
27
|
**注意**: 初回実行時は依存関係のダウンロードに時間がかかる場合があります。
|
|
26
28
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
Michiの開発に貢献したい場合や、最新の開発版を使用したい場合:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
# リポジトリをクローン
|
|
33
|
-
git clone https://github.com/sk8metalme/michi
|
|
34
|
-
cd michi
|
|
35
|
-
|
|
36
|
-
# 依存関係をインストール
|
|
37
|
-
npm install
|
|
29
|
+
> **開発者向け**: Michiの開発に貢献したい場合や、最新の開発版を使用したい場合は [開発環境セットアップガイド](../contributing/development.md) を参照してください。
|
|
38
30
|
|
|
39
|
-
|
|
40
|
-
npm run build
|
|
31
|
+
## Step 2: cc-sddのインストール
|
|
41
32
|
|
|
42
|
-
|
|
43
|
-
npm link
|
|
44
|
-
|
|
45
|
-
# 使用
|
|
46
|
-
michi --help
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
詳細は [開発環境セットアップガイド](../contributing/development.md)を参照してください。
|
|
50
|
-
|
|
51
|
-
## 2. cc-sddのインストール
|
|
33
|
+
**重要**: 作業するプロジェクトのルートディレクトリで実行してください。
|
|
52
34
|
|
|
53
35
|
cc-sddは、Michiの仕様駆動開発ワークフローのコアフレームワークです。
|
|
54
36
|
|
|
55
37
|
```bash
|
|
38
|
+
# 作業プロジェクトのルートディレクトリに移動
|
|
39
|
+
cd /path/to/your-project
|
|
40
|
+
|
|
56
41
|
# Cursor IDE を使用する場合
|
|
57
42
|
npx cc-sdd@latest --lang ja --cursor
|
|
58
43
|
|
|
@@ -77,119 +62,261 @@ npx cc-sdd@next --lang ja --windsurf
|
|
|
77
62
|
- `.cursor/commands/kiro/` または `.claude/commands/kiro/` にコマンド作成
|
|
78
63
|
- `AGENTS.md` または `CLAUDE.md` にプロジェクト設定追加
|
|
79
64
|
|
|
65
|
+
**cc-sdd準拠アーキテクチャ(Issue #35):**
|
|
66
|
+
- Michiは**単一の英語テンプレート + プレースホルダー**でcc-sdd準拠を実現
|
|
67
|
+
- `templates/` ディレクトリからCursor/Claude両環境に対応
|
|
68
|
+
- プレースホルダー(`{{LANG_CODE}}`, `{{DEV_GUIDELINES}}` 等)をAIが実行時に解釈
|
|
69
|
+
|
|
70
|
+
|
|
80
71
|
詳細: [cc-sdd公式ドキュメント](https://github.com/gotalab/cc-sdd/blob/main/tools/cc-sdd/README_ja.md)
|
|
81
72
|
|
|
82
|
-
## 3. 環境変数の設定
|
|
83
73
|
|
|
84
|
-
|
|
74
|
+
## Step 2.5: 推奨ワークフロー(cc-sdd + Michi)
|
|
75
|
+
|
|
76
|
+
既存リポジトリにMichiを導入する標準的な手順は以下の通りです:
|
|
77
|
+
|
|
78
|
+
### 3ステップワークフロー
|
|
85
79
|
|
|
86
80
|
```bash
|
|
87
|
-
#
|
|
88
|
-
|
|
81
|
+
# Step 1: cc-sddで標準ファイル生成
|
|
82
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
83
|
+
|
|
84
|
+
# Step 2: Michi固有ファイルを追加
|
|
85
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
86
|
+
# または npm run michi:setup:cursor
|
|
87
|
+
|
|
88
|
+
# Step 3: 環境設定
|
|
89
|
+
npm run setup:interactive
|
|
89
90
|
```
|
|
90
91
|
|
|
91
|
-
###
|
|
92
|
+
### 各ステップの詳細
|
|
92
93
|
|
|
93
|
-
|
|
94
|
+
#### Step 1: cc-sdd導入
|
|
94
95
|
|
|
95
|
-
|
|
96
|
-
# Atlassian設定
|
|
97
|
-
ATLASSIAN_URL=https://your-domain.atlassian.net
|
|
98
|
-
ATLASSIAN_EMAIL=your-email@company.com
|
|
99
|
-
ATLASSIAN_API_TOKEN=<ATLASSIANトークン>
|
|
96
|
+
cc-sddは、AI駆動開発ワークフローのコアフレームワークです。以下を自動生成します:
|
|
100
97
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
GITHUB_REPO=sk8metalme/michi
|
|
98
|
+
- `.kiro/settings/` - テンプレート設定
|
|
99
|
+
- `.cursor/commands/kiro/` - 11のスラッシュコマンド
|
|
100
|
+
- `AGENTS.md` - プロジェクト設定
|
|
105
101
|
|
|
106
|
-
|
|
107
|
-
CONFLUENCE_PRD_SPACE=PRD
|
|
108
|
-
CONFLUENCE_QA_SPACE=QA
|
|
109
|
-
CONFLUENCE_RELEASE_SPACE=RELEASE
|
|
102
|
+
**実行例(IDE別)**:
|
|
110
103
|
|
|
111
|
-
|
|
112
|
-
|
|
104
|
+
```bash
|
|
105
|
+
# Cursor IDE
|
|
106
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
113
107
|
|
|
114
|
-
#
|
|
115
|
-
|
|
116
|
-
#
|
|
117
|
-
# 確認方法:
|
|
118
|
-
# 1. JIRA管理画面: Settings > Issues > Issue types で確認
|
|
119
|
-
# 2. REST API: GET https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
120
|
-
# レスポンスから "Story" と "Subtask" の "id" フィールドを取得
|
|
121
|
-
# 例: {"id": "10036", "name": "Story", ...}
|
|
122
|
-
JIRA_ISSUE_TYPE_STORY=10036
|
|
123
|
-
JIRA_ISSUE_TYPE_SUBTASK=10037
|
|
108
|
+
# Claude Code
|
|
109
|
+
npx cc-sdd@latest --claude --lang ja
|
|
124
110
|
|
|
125
|
-
#
|
|
126
|
-
|
|
111
|
+
# Gemini CLI
|
|
112
|
+
npx cc-sdd@latest --gemini --lang ja
|
|
127
113
|
|
|
128
|
-
#
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
114
|
+
# Codex CLI
|
|
115
|
+
npx cc-sdd@next --codex --lang ja
|
|
116
|
+
|
|
117
|
+
# Windsurf IDE
|
|
118
|
+
npx cc-sdd@next --windsurf --lang ja
|
|
133
119
|
```
|
|
134
120
|
|
|
135
|
-
|
|
121
|
+
#### Step 2: Michi固有ファイル追加
|
|
136
122
|
|
|
137
|
-
|
|
123
|
+
Michiの専用機能(Confluence/JIRA連携、マルチプロジェクト管理)を追加します:
|
|
138
124
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
`.env` ファイルに以下の環境変数を追加:
|
|
125
|
+
**実行例**:
|
|
142
126
|
|
|
143
127
|
```bash
|
|
144
|
-
#
|
|
145
|
-
|
|
128
|
+
# Cursor IDE
|
|
129
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
130
|
+
# または npm run michi:setup:cursor
|
|
146
131
|
|
|
147
|
-
#
|
|
148
|
-
|
|
132
|
+
# Claude Code
|
|
133
|
+
npx @sk8metal/michi-cli setup-existing --claude --lang ja
|
|
134
|
+
# または npm run michi:setup:claude
|
|
149
135
|
|
|
150
|
-
#
|
|
151
|
-
|
|
136
|
+
# Claude Code Subagents
|
|
137
|
+
npx @sk8metal/michi-cli setup-existing --claude-agent --lang ja
|
|
138
|
+
# または npm run michi:setup:claude-agent
|
|
152
139
|
```
|
|
153
140
|
|
|
154
|
-
|
|
141
|
+
**追加されるもの**:
|
|
142
|
+
|
|
143
|
+
- 共通ルール(`.cursor/rules/`または`.claude/rules/`)
|
|
144
|
+
- Michi専用コマンド(`.cursor/commands/michi/`または`.claude/commands/michi/`)
|
|
145
|
+
- Steeringテンプレート(`.kiro/steering/`)
|
|
146
|
+
- Specテンプレート(`.kiro/settings/templates/`)
|
|
147
|
+
- プロジェクトメタデータ(`.kiro/project.json`)
|
|
148
|
+
- 環境変数テンプレート(`.env`)
|
|
149
|
+
|
|
150
|
+
#### Step 3: 環境設定
|
|
151
|
+
|
|
152
|
+
対話的設定ツールで認証情報とプロジェクトメタデータを設定します:
|
|
155
153
|
|
|
156
|
-
**英語ロール名を使用する場合:**
|
|
157
154
|
```bash
|
|
158
|
-
|
|
159
|
-
APPROVAL_GATES_DESIGN=tech-lead,architect,security
|
|
160
|
-
APPROVAL_GATES_RELEASE=release-manager,qa-lead,director
|
|
155
|
+
npm run setup:interactive
|
|
161
156
|
```
|
|
162
157
|
|
|
163
|
-
|
|
158
|
+
このツールが以下を設定します:
|
|
159
|
+
|
|
160
|
+
- プロジェクト情報(`project.json`)
|
|
161
|
+
- 認証情報(`.env`)
|
|
162
|
+
|
|
163
|
+
詳細は [Step 3: 環境変数の設定](#step-3-環境変数の設定) を参照してください。
|
|
164
|
+
|
|
165
|
+
### なぜこの順序なのか?
|
|
166
|
+
|
|
167
|
+
1. **cc-sdd → Michi**: cc-sddが基盤を作り、Michiが拡張機能を追加
|
|
168
|
+
2. **ファイル追加 → 環境設定**: 設定ファイルが先に存在する必要がある
|
|
169
|
+
3. **標準化**: すべてのプロジェクトで一貫した手順
|
|
170
|
+
|
|
171
|
+
|
|
172
|
+
## Step 3: 環境変数の設定
|
|
173
|
+
|
|
174
|
+
### 3-1. .env ファイルの作成
|
|
175
|
+
|
|
176
|
+
**重要**: 作業するプロジェクトのルートディレクトリで実行してください。
|
|
177
|
+
|
|
164
178
|
```bash
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
179
|
+
# 作業プロジェクトのルートディレクトリに移動
|
|
180
|
+
cd /path/to/your-project
|
|
181
|
+
|
|
182
|
+
# GitHubリポジトリから直接取得(推奨)
|
|
183
|
+
curl -o .env https://raw.githubusercontent.com/sk8metalme/michi/main/env.example
|
|
184
|
+
|
|
185
|
+
# または wget を使用
|
|
186
|
+
wget -O .env https://raw.githubusercontent.com/sk8metalme/michi/main/env.example
|
|
168
187
|
```
|
|
169
188
|
|
|
170
|
-
|
|
189
|
+
**注意**:
|
|
190
|
+
- `.env` ファイルは作業するプロジェクトのルートディレクトリに作成されます
|
|
191
|
+
- 別のディレクトリにいる場合は、まずプロジェクトルートに移動してください
|
|
192
|
+
|
|
193
|
+
### 3-2. 認証情報の設定
|
|
194
|
+
|
|
195
|
+
`.env` ファイルを編集して、実際の認証情報を設定します:
|
|
196
|
+
|
|
171
197
|
```bash
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
198
|
+
# Atlassian設定
|
|
199
|
+
ATLASSIAN_URL=https://your-domain.atlassian.net
|
|
200
|
+
ATLASSIAN_EMAIL=your-email@company.com
|
|
201
|
+
ATLASSIAN_API_TOKEN=<ATLASSIANトークン>
|
|
176
202
|
|
|
177
|
-
|
|
203
|
+
# GitHub設定
|
|
204
|
+
GITHUB_ORG=your-org
|
|
205
|
+
GITHUB_TOKEN=<GitHubトークン>
|
|
206
|
+
# 開発したいリポジトリ
|
|
207
|
+
GITHUB_REPO=your-org/user-auth
|
|
178
208
|
|
|
179
|
-
|
|
209
|
+
# Confluence設定
|
|
210
|
+
CONFLUENCE_PRD_SPACE=PRD
|
|
211
|
+
CONFLUENCE_QA_SPACE=QA
|
|
212
|
+
CONFLUENCE_RELEASE_SPACE=RELEASE
|
|
180
213
|
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
- `APPROVAL_GATES_RELEASE`: `sm,director`
|
|
214
|
+
# JIRA設定
|
|
215
|
+
JIRA_PROJECT_KEYS=MICHI
|
|
184
216
|
|
|
185
|
-
|
|
217
|
+
# JIRA Issue Type IDs(JIRAインスタンス固有の値 - 必須)
|
|
218
|
+
JIRA_ISSUE_TYPE_STORY=10036
|
|
219
|
+
JIRA_ISSUE_TYPE_SUBTASK=10037
|
|
186
220
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
- 環境変数が未設定の場合は、デフォルト値が使用されます
|
|
221
|
+
# Slack通知(オプション)
|
|
222
|
+
SLACK_WEBHOOK_URL=<SlackWebhook URL>
|
|
223
|
+
```
|
|
191
224
|
|
|
192
|
-
|
|
225
|
+
#### 各設定値の確認方法
|
|
226
|
+
|
|
227
|
+
##### Atlassian設定
|
|
228
|
+
|
|
229
|
+
**`ATLASSIAN_URL`**
|
|
230
|
+
- **確認方法**: ブラウザでAtlassianにアクセスした際のURL
|
|
231
|
+
- **形式**: `https://your-domain.atlassian.net`
|
|
232
|
+
- **例**: `https://mycompany.atlassian.net`
|
|
233
|
+
|
|
234
|
+
**`ATLASSIAN_EMAIL`**
|
|
235
|
+
- **確認方法**: Atlassianにログインする際に使用するメールアドレス
|
|
236
|
+
- **形式**: メールアドレス形式
|
|
237
|
+
- **例**: `user@company.com`
|
|
238
|
+
|
|
239
|
+
**`ATLASSIAN_API_TOKEN`**
|
|
240
|
+
- **確認方法**: 3-3セクション「Atlassian API Token」を参照
|
|
241
|
+
|
|
242
|
+
##### GitHub設定
|
|
243
|
+
|
|
244
|
+
**`GITHUB_ORG`**
|
|
245
|
+
- **確認方法**: GitHubの組織名またはユーザー名
|
|
246
|
+
- **確認手順**:
|
|
247
|
+
1. GitHubにログイン
|
|
248
|
+
2. 組織のページにアクセス(例: `https://github.com/your-org`)
|
|
249
|
+
3. URLの `/your-org` 部分が組織名
|
|
250
|
+
- **例**: `sk8metal`、`mycompany`
|
|
251
|
+
- **使用機能**:
|
|
252
|
+
- プロジェクト一覧表示(`michi project:list`): 組織内の全リポジトリをスキャンしてプロジェクト情報を表示
|
|
253
|
+
- 複数プロジェクト見積もり集計(`michi multi-estimate`): 組織内の全リポジトリから `design.md` を取得して見積もり情報を集計
|
|
254
|
+
- プロジェクトリソースダッシュボード(`michi project:dashboard`): 組織内の全プロジェクト情報を集計してConfluenceダッシュボードを生成
|
|
255
|
+
- 新規プロジェクト作成(`michi create-project`): 新規リポジトリ作成時の組織名として使用
|
|
256
|
+
|
|
257
|
+
**`GITHUB_TOKEN`**
|
|
258
|
+
- **確認方法**: 3-3セクション「GitHub Token」を参照
|
|
259
|
+
- **使用機能**: すべてのGitHub連携機能で認証に使用(API呼び出し時の認証トークン)
|
|
260
|
+
|
|
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を作成(ワークフロー自動化で使用)
|
|
270
|
+
|
|
271
|
+
##### Confluence設定
|
|
272
|
+
|
|
273
|
+
**`CONFLUENCE_PRD_SPACE`、`CONFLUENCE_QA_SPACE`、`CONFLUENCE_RELEASE_SPACE`**
|
|
274
|
+
- **確認方法**: Confluenceスペースのキー(スペースキー)
|
|
275
|
+
- **確認手順**:
|
|
276
|
+
1. Confluenceにログイン
|
|
277
|
+
2. スペース一覧ページにアクセス: `https://your-domain.atlassian.net/wiki/spaces`
|
|
278
|
+
3. 各スペースのページにアクセス(例: `https://your-domain.atlassian.net/wiki/spaces/PRD`)
|
|
279
|
+
4. URLの `/spaces/PRD` 部分の `PRD` がスペースキー
|
|
280
|
+
- **形式**: 大文字の英数字(通常は3-10文字)
|
|
281
|
+
- **例**: `PRD`、`QA`、`RELEASE`、`ENG`
|
|
282
|
+
|
|
283
|
+
##### JIRA設定
|
|
284
|
+
|
|
285
|
+
**`JIRA_PROJECT_KEYS`**
|
|
286
|
+
- **確認方法**: JIRAプロジェクトのキー(プロジェクトキー)
|
|
287
|
+
- **確認手順**:
|
|
288
|
+
1. JIRAにログイン
|
|
289
|
+
2. プロジェクト一覧ページにアクセス: `https://your-domain.atlassian.net/jira/projects`
|
|
290
|
+
3. 各プロジェクトのページにアクセス(例: `https://your-domain.atlassian.net/jira/projects/MICHI`)
|
|
291
|
+
4. URLの `/projects/MICHI` 部分の `MICHI` がプロジェクトキー
|
|
292
|
+
5. 複数のプロジェクトを使用する場合は、カンマ区切りで指定(例: `MICHI,PRJA,PRJB`)
|
|
293
|
+
- **形式**: 大文字の英数字(通常は2-10文字)
|
|
294
|
+
- **例**: `MICHI`、`PROJ`、`DEV`
|
|
295
|
+
|
|
296
|
+
**`JIRA_ISSUE_TYPE_STORY`、`JIRA_ISSUE_TYPE_SUBTASK`**
|
|
297
|
+
- **確認方法**: JIRAインスタンス固有のIssue Type ID
|
|
298
|
+
- **確認手順**:
|
|
299
|
+
1. **JIRA管理画面から確認**:
|
|
300
|
+
- JIRAに管理者権限でログイン
|
|
301
|
+
- Settings(設定)> Issues(課題)> Issue types(課題タイプ)
|
|
302
|
+
- 「Story」と「Subtask」のIDを確認
|
|
303
|
+
2. **REST APIから確認**:
|
|
304
|
+
```bash
|
|
305
|
+
curl -u your-email@company.com:your-api-token \
|
|
306
|
+
https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
307
|
+
```
|
|
308
|
+
レスポンスから "Story" と "Subtask" の "id" フィールドを取得
|
|
309
|
+
- 例: `{"id": "10036", "name": "Story", ...}`
|
|
310
|
+
- **形式**: 数値(通常は5桁)
|
|
311
|
+
- **例**: `10036`、`10037`
|
|
312
|
+
- **重要**: これらの値は各JIRAインスタンスで異なるため、必ず実際の値を設定してください
|
|
313
|
+
|
|
314
|
+
##### Slack設定(オプション)
|
|
315
|
+
|
|
316
|
+
**`SLACK_WEBHOOK_URL`**
|
|
317
|
+
- **確認方法**: 3-3セクション「Slack Webhook URL」を参照
|
|
318
|
+
|
|
319
|
+
### 3-3. 認証トークンの取得方法
|
|
193
320
|
|
|
194
321
|
#### Atlassian API Token
|
|
195
322
|
1. https://id.atlassian.com/manage-profile/security/api-tokens にアクセス
|
|
@@ -211,16 +338,21 @@ gh auth token
|
|
|
211
338
|
3. Incoming Webhooks を有効化
|
|
212
339
|
4. Webhook URL を生成して `.env` に設定
|
|
213
340
|
|
|
214
|
-
## 4
|
|
341
|
+
## Step 4: Atlassian MCP サーバーの設定
|
|
215
342
|
|
|
216
343
|
### 4-1. MCP設定ファイルの作成
|
|
217
344
|
|
|
218
|
-
|
|
345
|
+
ホームディレクトリに `~/.cursor/mcp.json` を作成:
|
|
219
346
|
|
|
220
347
|
```bash
|
|
221
|
-
#
|
|
348
|
+
# ホームディレクトリに .cursor ディレクトリを作成
|
|
222
349
|
mkdir -p ~/.cursor
|
|
223
|
-
|
|
350
|
+
|
|
351
|
+
# GitHubリポジトリから直接取得
|
|
352
|
+
curl -o ~/.cursor/mcp.json https://raw.githubusercontent.com/sk8metalme/michi/main/mcp.json.example
|
|
353
|
+
|
|
354
|
+
# または wget を使用
|
|
355
|
+
wget -O ~/.cursor/mcp.json https://raw.githubusercontent.com/sk8metalme/michi/main/mcp.json.example
|
|
224
356
|
```
|
|
225
357
|
|
|
226
358
|
### 4-2. 実際の認証情報に置き換え
|
|
@@ -243,96 +375,70 @@ cp mcp.json.example ~/.cursor/mcp.json
|
|
|
243
375
|
}
|
|
244
376
|
```
|
|
245
377
|
|
|
246
|
-
## 5
|
|
378
|
+
## Step 5: プロジェクトメタデータの設定
|
|
247
379
|
|
|
248
|
-
`.kiro/project.json`
|
|
380
|
+
`.kiro/project.json` は、プロジェクトのメタデータ(プロジェクトID、JIRAキー、Confluenceラベルなど)を管理するファイルです。
|
|
249
381
|
|
|
250
|
-
|
|
251
|
-
{
|
|
252
|
-
"projectId": "michi",
|
|
253
|
-
"projectName": "Michi - Managed Intelligent Comprehensive Hub for Integration",
|
|
254
|
-
"jiraProjectKey": "MICHI",
|
|
255
|
-
"confluenceLabels": ["project:michi", "service:hub"],
|
|
256
|
-
"status": "active",
|
|
257
|
-
"team": ["@developer1"],
|
|
258
|
-
"stakeholders": ["@pm", "@director"]
|
|
259
|
-
}
|
|
260
|
-
```
|
|
382
|
+
**重要**: すべてのプロジェクト(単一プロジェクトも含む)は`projects/{project-id}/`配下に配置されます。
|
|
261
383
|
|
|
262
|
-
|
|
384
|
+
> **補足**: 新規プロジェクトを作成する場合や、既存プロジェクトにMichiを自動導入する場合は [新規リポジトリセットアップガイド](./new-repository-setup.md) を参照してください。
|
|
263
385
|
|
|
264
|
-
`.
|
|
386
|
+
### 5-1. `.kiro/project.json` の作成
|
|
265
387
|
|
|
266
|
-
|
|
388
|
+
**重要**: 作業するプロジェクトのルートディレクトリで実行してください。
|
|
267
389
|
|
|
268
|
-
|
|
390
|
+
手動で `.kiro/project.json` を作成します:
|
|
269
391
|
|
|
270
|
-
|
|
392
|
+
```bash
|
|
393
|
+
# プロジェクトルートに .kiro ディレクトリを作成
|
|
394
|
+
mkdir -p .kiro
|
|
271
395
|
|
|
272
|
-
|
|
396
|
+
# project.json を作成
|
|
397
|
+
cat > .kiro/project.json << 'EOF'
|
|
273
398
|
{
|
|
274
|
-
"
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
"parentPageTitle": "[{projectName}] {featureName}"
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
"jira": {
|
|
287
|
-
"createEpic": true,
|
|
288
|
-
"storyCreationGranularity": "all",
|
|
289
|
-
"storyPoints": "auto",
|
|
290
|
-
"issueTypes": {
|
|
291
|
-
"story": "10036",
|
|
292
|
-
"subtask": "10037"
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
"workflow": {
|
|
296
|
-
"enabledPhases": ["requirements", "design", "tasks"],
|
|
297
|
-
"approvalGates": {
|
|
298
|
-
"requirements": ["leader", "director"],
|
|
299
|
-
"design": ["leader", "director"],
|
|
300
|
-
"release": ["service-manager", "director"]
|
|
301
|
-
}
|
|
302
|
-
}
|
|
399
|
+
"projectId": "your-project-id",
|
|
400
|
+
"projectName": "プロジェクト名",
|
|
401
|
+
"jiraProjectKey": "PROJ",
|
|
402
|
+
"confluenceLabels": ["project:your-project", "service:your-service"],
|
|
403
|
+
"status": "active",
|
|
404
|
+
"team": ["@developer1"],
|
|
405
|
+
"stakeholders": ["@pm", "@director"],
|
|
406
|
+
"repository": "https://github.com/your-org/your-repo",
|
|
407
|
+
"description": "プロジェクトの説明"
|
|
303
408
|
}
|
|
409
|
+
EOF
|
|
304
410
|
```
|
|
305
411
|
|
|
306
|
-
###
|
|
307
|
-
|
|
308
|
-
すべての設定値の詳細は [設定値リファレンス](../reference/config.md) を参照してください。
|
|
309
|
-
|
|
310
|
-
### 設定の優先順位
|
|
311
|
-
|
|
312
|
-
設定値は以下の優先順位で決定されます:
|
|
412
|
+
### 5-2. `.kiro/project.json` の確認・編集
|
|
313
413
|
|
|
314
|
-
|
|
315
|
-
2. **`.michi/config.json`**: プロジェクト固有の設定
|
|
316
|
-
3. **環境変数**: システム環境変数または`.env`ファイル
|
|
317
|
-
4. **デフォルト値**: スキーマで定義されたデフォルト値
|
|
318
|
-
|
|
319
|
-
### 設定のバリデーション
|
|
320
|
-
|
|
321
|
-
設定ファイルは実行前に自動的にバリデーションされます。手動でバリデーションを実行する場合:
|
|
322
|
-
|
|
323
|
-
```bash
|
|
324
|
-
# Michiプロジェクトディレクトリで実行
|
|
325
|
-
npx tsx scripts/utils/config-validator.ts
|
|
414
|
+
既に `.kiro/project.json` が存在する場合、または作成後に必要に応じて編集してください:
|
|
326
415
|
|
|
327
|
-
|
|
328
|
-
|
|
416
|
+
```json
|
|
417
|
+
{
|
|
418
|
+
"projectId": "michi",
|
|
419
|
+
"projectName": "Michi - Managed Intelligent Comprehensive Hub for Integration",
|
|
420
|
+
"jiraProjectKey": "MICHI",
|
|
421
|
+
"confluenceLabels": ["project:michi", "service:hub"],
|
|
422
|
+
"status": "active",
|
|
423
|
+
"team": ["@developer1"],
|
|
424
|
+
"stakeholders": ["@pm", "@director"],
|
|
425
|
+
"repository": "https://github.com/your-org/your-repo",
|
|
426
|
+
"description": "プロジェクトの説明"
|
|
427
|
+
}
|
|
329
428
|
```
|
|
330
429
|
|
|
331
|
-
|
|
430
|
+
**各フィールドの説明**:
|
|
431
|
+
- `projectId`: プロジェクトの一意識別子(通常はリポジトリ名)
|
|
432
|
+
- `projectName`: プロジェクトの表示名
|
|
433
|
+
- `jiraProjectKey`: JIRAプロジェクトキー(`.env` の `JIRA_PROJECT_KEYS` と一致させる)
|
|
434
|
+
- `confluenceLabels`: Confluenceページに付与するラベル(配列形式)
|
|
435
|
+
- `status`: プロジェクトのステータス(`active`、`archived` など)
|
|
436
|
+
- `team`: チームメンバーのリスト(`@` プレフィックス付き)
|
|
437
|
+
- `stakeholders`: ステークホルダーのリスト(`@` プレフィックス付き)
|
|
438
|
+
- `repository`: GitHubリポジトリのURL(オプション)
|
|
439
|
+
- `description`: プロジェクトの説明(オプション)
|
|
332
440
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
## 6. Cursor IDE の設定
|
|
441
|
+
## Step 6: Cursor IDE の設定
|
|
336
442
|
|
|
337
443
|
### 6-1. Cursor でプロジェクトを開く
|
|
338
444
|
|
|
@@ -353,7 +459,7 @@ Cursor のコマンドパネル(Cmd+Shift+P)で `/kiro:` と入力すると
|
|
|
353
459
|
|
|
354
460
|
凡例の詳細は [README.md#凡例の記号説明](../README.md#凡例の記号説明) を参照してください。
|
|
355
461
|
|
|
356
|
-
## 7
|
|
462
|
+
## Step 7: 動作確認
|
|
357
463
|
|
|
358
464
|
### 7-1. 基本的な動作確認
|
|
359
465
|
|
|
@@ -370,12 +476,155 @@ michi help
|
|
|
370
476
|
|
|
371
477
|
## トラブルシューティング
|
|
372
478
|
|
|
479
|
+
### cc-sddのインストールに失敗する
|
|
480
|
+
|
|
481
|
+
**症状**: `npx cc-sdd@latest` が失敗する
|
|
482
|
+
|
|
483
|
+
**原因**:
|
|
484
|
+
- npmキャッシュの問題
|
|
485
|
+
- ネットワーク接続の問題
|
|
486
|
+
- Node.jsのバージョンが古い
|
|
487
|
+
|
|
488
|
+
**解決方法**:
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
# キャッシュをクリア
|
|
492
|
+
npm cache clean --force
|
|
493
|
+
|
|
494
|
+
# 再度実行
|
|
495
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
496
|
+
|
|
497
|
+
# それでも失敗する場合は、Node.jsバージョンを確認
|
|
498
|
+
node --version
|
|
499
|
+
# 20.0.0以上が必要
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### setup-existing の実行エラー
|
|
503
|
+
|
|
504
|
+
**症状**: `npx @sk8metal/michi-cli setup-existing` が失敗する
|
|
505
|
+
|
|
506
|
+
**原因**:
|
|
507
|
+
- ネットワーク接続の問題
|
|
508
|
+
- 必要な依存関係がインストールされていない
|
|
509
|
+
- 権限の問題
|
|
510
|
+
|
|
511
|
+
**解決方法**:
|
|
512
|
+
|
|
513
|
+
```bash
|
|
514
|
+
# NPMキャッシュをクリア
|
|
515
|
+
npm cache clean --force
|
|
516
|
+
|
|
517
|
+
# 再度実行
|
|
518
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
519
|
+
|
|
520
|
+
# または、開発リポジトリから実行する場合
|
|
521
|
+
cd /path/to/michi
|
|
522
|
+
npm run michi:setup:cursor
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
### 環境変数設定のミス
|
|
526
|
+
|
|
527
|
+
**症状**: Confluence/JIRA連携が動作しない
|
|
528
|
+
|
|
529
|
+
**原因**:
|
|
530
|
+
- `.env`ファイルの認証情報が間違っている
|
|
531
|
+
- 環境変数が正しく読み込まれていない
|
|
532
|
+
|
|
533
|
+
**解決方法**:
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
# .envファイルの内容を確認
|
|
537
|
+
cat .env
|
|
538
|
+
|
|
539
|
+
# 認証情報が正しいか確認
|
|
540
|
+
# - ATLASSIAN_URL: https://your-domain.atlassian.net 形式
|
|
541
|
+
# - ATLASSIAN_EMAIL: メールアドレス形式
|
|
542
|
+
# - ATLASSIAN_API_TOKEN: 有効なトークン
|
|
543
|
+
# - GITHUB_TOKEN: ghp_ で始まるトークン
|
|
544
|
+
|
|
545
|
+
# トークンの有効性を確認
|
|
546
|
+
curl -u your-email@company.com:your-api-token \
|
|
547
|
+
https://your-domain.atlassian.net/rest/api/3/myself
|
|
548
|
+
```
|
|
549
|
+
|
|
373
550
|
### MCP サーバーが動作しない
|
|
374
551
|
|
|
552
|
+
**症状**: Cursor IDEでAtlassian MCPが接続できない
|
|
553
|
+
|
|
554
|
+
**原因**:
|
|
555
|
+
- `~/.cursor/mcp.json`の設定が間違っている
|
|
556
|
+
- Atlassian API Tokenが無効
|
|
557
|
+
- Cursorが設定を読み込んでいない
|
|
558
|
+
|
|
559
|
+
**解決方法**:
|
|
560
|
+
|
|
375
561
|
1. Cursor を再起動
|
|
376
562
|
2. `~/.cursor/mcp.json` の認証情報を確認
|
|
563
|
+
|
|
564
|
+
```bash
|
|
565
|
+
# mcp.jsonの内容を確認
|
|
566
|
+
cat ~/.cursor/mcp.json
|
|
567
|
+
|
|
568
|
+
# 認証情報が.envと一致しているか確認
|
|
569
|
+
```
|
|
570
|
+
|
|
377
571
|
3. Atlassian API Token が有効か確認
|
|
378
572
|
|
|
573
|
+
```bash
|
|
574
|
+
# トークンの有効性をテスト
|
|
575
|
+
curl -u your-email@company.com:your-token \
|
|
576
|
+
https://your-domain.atlassian.net/rest/api/3/myself
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
4. Cursor のログを確認
|
|
580
|
+
|
|
581
|
+
- Cursor > View > Toggle Developer Tools
|
|
582
|
+
- Console タブでエラーを確認
|
|
583
|
+
|
|
584
|
+
### JIRA Issue Type ID の取得方法
|
|
585
|
+
|
|
586
|
+
**症状**: `JIRA_ISSUE_TYPE_STORY`や`JIRA_ISSUE_TYPE_SUBTASK`の値がわからない
|
|
587
|
+
|
|
588
|
+
**解決方法**:
|
|
589
|
+
|
|
590
|
+
**方法1: JIRA管理画面から確認(管理者権限が必要)**
|
|
591
|
+
|
|
592
|
+
1. JIRAに管理者権限でログイン
|
|
593
|
+
2. Settings(設定)> Issues(課題)> Issue types(課題タイプ)
|
|
594
|
+
3. 「Story」と「Subtask」のIDを確認
|
|
595
|
+
|
|
596
|
+
**方法2: REST APIで確認(推奨)**
|
|
597
|
+
|
|
598
|
+
```bash
|
|
599
|
+
# すべてのIssue Typeを取得
|
|
600
|
+
curl -u your-email@company.com:your-api-token \
|
|
601
|
+
https://your-domain.atlassian.net/rest/api/3/issuetype | jq
|
|
602
|
+
|
|
603
|
+
# 出力例:
|
|
604
|
+
# [
|
|
605
|
+
# {
|
|
606
|
+
# "id": "10036",
|
|
607
|
+
# "name": "Story",
|
|
608
|
+
# ...
|
|
609
|
+
# },
|
|
610
|
+
# {
|
|
611
|
+
# "id": "10037",
|
|
612
|
+
# "name": "Subtask",
|
|
613
|
+
# ...
|
|
614
|
+
# }
|
|
615
|
+
# ]
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
**方法3: jqがない場合**
|
|
619
|
+
|
|
620
|
+
```bash
|
|
621
|
+
# jqなしで確認
|
|
622
|
+
curl -u your-email@company.com:your-api-token \
|
|
623
|
+
https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
624
|
+
|
|
625
|
+
# 出力から "Story" と "Subtask" の "id" フィールドを探す
|
|
626
|
+
```
|
|
627
|
+
|
|
379
628
|
### GitHub認証エラー
|
|
380
629
|
|
|
381
630
|
```bash
|
|
@@ -384,14 +633,136 @@ gh auth login
|
|
|
384
633
|
gh auth setup-git
|
|
385
634
|
```
|
|
386
635
|
|
|
387
|
-
##
|
|
636
|
+
## セットアップ完了
|
|
388
637
|
|
|
389
|
-
|
|
638
|
+
これでセットアップは完了です。次のステップ:
|
|
390
639
|
|
|
391
640
|
- [クイックスタート](./quick-start.md) - 5分で始める
|
|
392
641
|
- [ワークフローガイド](../guides/workflow.md) - AI開発フロー
|
|
393
642
|
- [マルチプロジェクト管理](../guides/multi-project.md) - 複数プロジェクト管理
|
|
394
643
|
|
|
644
|
+
## オプション設定
|
|
645
|
+
|
|
646
|
+
以下の設定は任意です。必要に応じて設定してください。
|
|
647
|
+
|
|
648
|
+
### ワークフロー承認ゲートの設定
|
|
649
|
+
|
|
650
|
+
ワークフロー実行時(`michi workflow:run`)の承認ゲートで使用するロール名を設定できます。
|
|
651
|
+
|
|
652
|
+
#### 設定方法
|
|
653
|
+
|
|
654
|
+
`.env` ファイルに以下の環境変数を追加:
|
|
655
|
+
|
|
656
|
+
```bash
|
|
657
|
+
# 要件定義フェーズの承認者
|
|
658
|
+
APPROVAL_GATES_REQUIREMENTS=pm,director
|
|
659
|
+
|
|
660
|
+
# 設計フェーズの承認者
|
|
661
|
+
APPROVAL_GATES_DESIGN=architect,director
|
|
662
|
+
|
|
663
|
+
# リリースフェーズの承認者
|
|
664
|
+
APPROVAL_GATES_RELEASE=sm,director
|
|
665
|
+
```
|
|
666
|
+
|
|
667
|
+
#### 設定例
|
|
668
|
+
|
|
669
|
+
**英語ロール名を使用する場合:**
|
|
670
|
+
```bash
|
|
671
|
+
APPROVAL_GATES_REQUIREMENTS=product-manager,cto,legal
|
|
672
|
+
APPROVAL_GATES_DESIGN=tech-lead,architect,security
|
|
673
|
+
APPROVAL_GATES_RELEASE=release-manager,qa-lead,director
|
|
674
|
+
```
|
|
675
|
+
|
|
676
|
+
**日本語ロール名を使用する場合:**
|
|
677
|
+
```bash
|
|
678
|
+
APPROVAL_GATES_REQUIREMENTS=企画,部長
|
|
679
|
+
APPROVAL_GATES_DESIGN=アーキテクト,部長
|
|
680
|
+
APPROVAL_GATES_RELEASE=SM,部長
|
|
681
|
+
```
|
|
682
|
+
|
|
683
|
+
**組織固有のロール名を使用する場合:**
|
|
684
|
+
```bash
|
|
685
|
+
APPROVAL_GATES_REQUIREMENTS=プロダクトマネージャー,CTO,法務
|
|
686
|
+
APPROVAL_GATES_DESIGN=テックリード,アーキテクト,セキュリティ
|
|
687
|
+
APPROVAL_GATES_RELEASE=リリースマネージャー,QAリード,部長
|
|
688
|
+
```
|
|
689
|
+
|
|
690
|
+
#### デフォルト値
|
|
691
|
+
|
|
692
|
+
環境変数が設定されていない場合、以下のデフォルト値が使用されます:
|
|
693
|
+
|
|
694
|
+
- `APPROVAL_GATES_REQUIREMENTS`: `pm,director`
|
|
695
|
+
- `APPROVAL_GATES_DESIGN`: `architect,director`
|
|
696
|
+
- `APPROVAL_GATES_RELEASE`: `sm,director`
|
|
697
|
+
|
|
698
|
+
#### 注意事項
|
|
699
|
+
|
|
700
|
+
- ロール名はカンマ区切りで指定します
|
|
701
|
+
- 各ロール名の前後の空白は自動的にトリムされます
|
|
702
|
+
- 空のロール名は無視されます
|
|
703
|
+
- 環境変数が未設定の場合は、デフォルト値が使用されます
|
|
704
|
+
|
|
705
|
+
### プロジェクト固有設定ファイル(.michi/config.json)
|
|
706
|
+
|
|
707
|
+
`.michi/config.json` を作成することで、Confluence/JIRAの動作をカスタマイズできます。
|
|
708
|
+
|
|
709
|
+
#### 設定ファイルの作成
|
|
710
|
+
|
|
711
|
+
プロジェクトルートに `.michi/config.json` を作成:
|
|
712
|
+
|
|
713
|
+
**注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。
|
|
714
|
+
|
|
715
|
+
```json
|
|
716
|
+
{
|
|
717
|
+
"confluence": {
|
|
718
|
+
"pageCreationGranularity": "by-hierarchy",
|
|
719
|
+
"spaces": {
|
|
720
|
+
"requirements": "Michi",
|
|
721
|
+
"design": "Michi",
|
|
722
|
+
"tasks": "Michi"
|
|
723
|
+
},
|
|
724
|
+
"hierarchy": {
|
|
725
|
+
"mode": "simple",
|
|
726
|
+
"parentPageTitle": "[{projectName}] {featureName}"
|
|
727
|
+
}
|
|
728
|
+
},
|
|
729
|
+
"jira": {
|
|
730
|
+
"createEpic": true,
|
|
731
|
+
"storyCreationGranularity": "all",
|
|
732
|
+
"storyPoints": "auto",
|
|
733
|
+
"issueTypes": {
|
|
734
|
+
"story": "10036",
|
|
735
|
+
"subtask": "10037"
|
|
736
|
+
}
|
|
737
|
+
},
|
|
738
|
+
"workflow": {
|
|
739
|
+
"enabledPhases": ["requirements", "design", "tasks"],
|
|
740
|
+
"approvalGates": {
|
|
741
|
+
"requirements": ["leader", "director"],
|
|
742
|
+
"design": ["leader", "director"],
|
|
743
|
+
"release": ["service-manager", "director"]
|
|
744
|
+
}
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
```
|
|
748
|
+
|
|
749
|
+
#### 設定値の詳細
|
|
750
|
+
|
|
751
|
+
すべての設定値の詳細は [設定値リファレンス](../reference/config.md) を参照してください。
|
|
752
|
+
|
|
753
|
+
#### 設定の優先順位
|
|
754
|
+
|
|
755
|
+
設定値は以下の優先順位で決定されます:
|
|
756
|
+
|
|
757
|
+
1. **`spec.json`**: 機能固有の設定(最優先)
|
|
758
|
+
2. **`.michi/config.json`**: プロジェクト固有の設定
|
|
759
|
+
3. **環境変数**: システム環境変数または`.env`ファイル
|
|
760
|
+
4. **デフォルト値**: スキーマで定義されたデフォルト値
|
|
761
|
+
|
|
762
|
+
#### よくある設定パターン
|
|
763
|
+
|
|
764
|
+
詳細は [カスタマイズガイド](../guides/customization.md) を参照してください。
|
|
765
|
+
|
|
395
766
|
## 参考リンク
|
|
396
767
|
|
|
397
768
|
### AI開発フレームワーク
|