@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
|
@@ -1,574 +0,0 @@
|
|
|
1
|
-
# AI開発ワークフローガイド
|
|
2
|
-
|
|
3
|
-
> **凡例について**: `<feature>` などの記号の意味は [README.md#凡例の記号説明](../README.md#凡例の記号説明) を参照してください。
|
|
4
|
-
|
|
5
|
-
## 概要
|
|
6
|
-
|
|
7
|
-
このガイドでは、Michiを使用したAI駆動開発フローの全体像を説明します。
|
|
8
|
-
|
|
9
|
-
## ワークフロー全体像
|
|
10
|
-
|
|
11
|
-
> **注**: このワークフローは cc-sdd (Spec-Driven Development) の標準フローを Michi が拡張したものです。
|
|
12
|
-
> - **cc-sdd 標準**: Phase 0.0-0.2, 0.5 (`/kiro:*` コマンド)
|
|
13
|
-
> - **Michi 固有拡張**: Phase 0.3-0.4, 0.6-0.7, Phase 1-5, Phase A/B (テスト計画・実行、JIRA/Confluence連携)
|
|
14
|
-
|
|
15
|
-
```
|
|
16
|
-
Phase 0.0: 仕様の初期化 (/kiro:spec-init) ← cc-sdd 標準
|
|
17
|
-
↓
|
|
18
|
-
Phase 0.1: 要件定義 (/kiro:spec-requirements) ← cc-sdd 標準
|
|
19
|
-
↓ GitHub → Confluence同期 ← Michi 固有
|
|
20
|
-
↓ 企画・部長が承認
|
|
21
|
-
|
|
22
|
-
Phase 0.2: 設計 (/michi:spec-design または /kiro:spec-design)
|
|
23
|
-
↓ /michi:spec-design 推奨(Phase 0.3-0.4 ガイダンス付き)
|
|
24
|
-
↓ GitHub → Confluence同期 ← Michi 固有
|
|
25
|
-
↓ 見積もり生成 → Excel出力 ← Michi 固有
|
|
26
|
-
↓ アーキテクト・部長が承認
|
|
27
|
-
|
|
28
|
-
Phase 0.3: テストタイプの選択 ← Michi 固有(重要)
|
|
29
|
-
↓ テスト計画フローに従う
|
|
30
|
-
|
|
31
|
-
Phase 0.4: テスト仕様書の作成 ← Michi 固有(重要)
|
|
32
|
-
↓ テンプレートを使用
|
|
33
|
-
|
|
34
|
-
Phase 0.5: タスク分割 (/kiro:spec-tasks) ← cc-sdd 標準
|
|
35
|
-
↓ tasks.md生成
|
|
36
|
-
|
|
37
|
-
Phase 0.6: タスクのJIRA同期 ← Michi 固有
|
|
38
|
-
↓ Epic/Story/Subtask自動作成
|
|
39
|
-
|
|
40
|
-
Phase 0.7: Confluence同期 ← Michi 固有
|
|
41
|
-
↓
|
|
42
|
-
Phase 1: 環境構築・基盤整備 ← Michi 固有
|
|
43
|
-
↓ テスト環境セットアップ
|
|
44
|
-
|
|
45
|
-
Phase 2: TDD実装 (/kiro:spec-impl) ← cc-sdd 標準
|
|
46
|
-
↓ テスト → コード → リファクタリング
|
|
47
|
-
|
|
48
|
-
Phase A: PR作成前の自動テスト(CI/CD) ← Michi 固有
|
|
49
|
-
↓ 単体テスト + Lint + ビルド
|
|
50
|
-
↓ GitHub PR作成
|
|
51
|
-
↓ PRマージ
|
|
52
|
-
|
|
53
|
-
Phase 3: 追加の品質保証(PRマージ後) ← Michi 固有
|
|
54
|
-
↓ 静的解析・セキュリティスキャン
|
|
55
|
-
|
|
56
|
-
Phase B: リリース準備時の手動テスト ← Michi 固有
|
|
57
|
-
↓ 統合・E2E・パフォーマンス・セキュリティ
|
|
58
|
-
|
|
59
|
-
Phase 4: リリース準備ドキュメント作成 (/kiro:release-prep) ← Michi 固有
|
|
60
|
-
↓ Confluenceリリース手順書
|
|
61
|
-
↓ リリースJIRA起票
|
|
62
|
-
|
|
63
|
-
Phase 5: リリース実行 ← Michi 固有
|
|
64
|
-
↓ タグ作成 → CI/CD → GitHub Release作成
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## フェーズ別詳細
|
|
68
|
-
|
|
69
|
-
### Phase 0.0-0.1: 仕様の初期化と要件定義
|
|
70
|
-
|
|
71
|
-
#### Phase 0.0 Step 1: 仕様の初期化
|
|
72
|
-
|
|
73
|
-
Cursorで実行:
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
# 凡例
|
|
77
|
-
/kiro:spec-init <機能説明>
|
|
78
|
-
|
|
79
|
-
# 具体例
|
|
80
|
-
/kiro:spec-init ユーザー認証機能を実装したい。OAuth 2.0とJWTを使用。
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
AIが `.kiro/specs/<feature>/` ディレクトリを作成します。
|
|
84
|
-
|
|
85
|
-
#### Phase 0.1 Step 1: 要件定義の生成
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
# 凡例
|
|
89
|
-
/kiro:spec-requirements <feature>
|
|
90
|
-
|
|
91
|
-
# 具体例
|
|
92
|
-
/kiro:spec-requirements user-auth
|
|
93
|
-
```
|
|
94
|
-
|
|
95
|
-
AIが以下を生成:
|
|
96
|
-
|
|
97
|
-
- `.kiro/specs/<feature>/requirements.md`
|
|
98
|
-
- ビジネス要件、機能要件、非機能要件、リスク
|
|
99
|
-
|
|
100
|
-
#### Phase 0.1 Step 2: GitHubにコミット
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
# 凡例
|
|
104
|
-
jj commit -m "docs: <feature> 要件定義追加"
|
|
105
|
-
jj git push
|
|
106
|
-
|
|
107
|
-
# 具体例
|
|
108
|
-
jj commit -m "docs: ユーザー認証 要件定義追加"
|
|
109
|
-
jj git push
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
#### Phase 0.1 Step 3: Confluenceに同期
|
|
113
|
-
|
|
114
|
-
Cursorで実行:
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
# 凡例
|
|
118
|
-
/michi:confluence-sync <feature>
|
|
119
|
-
|
|
120
|
-
# 具体例
|
|
121
|
-
/michi:confluence-sync user-auth
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
AIが自動的に:
|
|
125
|
-
|
|
126
|
-
- Confluenceページ作成
|
|
127
|
-
- プロジェクト情報付与
|
|
128
|
-
- 企画・部長にメンション通知
|
|
129
|
-
|
|
130
|
-
#### Phase 0.1 Step 4: 承認待ち
|
|
131
|
-
|
|
132
|
-
企画・部長がConfluenceで:
|
|
133
|
-
|
|
134
|
-
- 要件をレビュー
|
|
135
|
-
- コメントでフィードバック
|
|
136
|
-
- Page Propertiesで承認
|
|
137
|
-
|
|
138
|
-
### Phase 0.2: 設計
|
|
139
|
-
|
|
140
|
-
#### Phase 0.2 Step 1: 設計書の生成
|
|
141
|
-
|
|
142
|
-
```bash
|
|
143
|
-
# 推奨: Michi 拡張版(Phase 0.3-0.4 ガイダンス付き)
|
|
144
|
-
/michi:spec-design <feature>
|
|
145
|
-
|
|
146
|
-
# または cc-sdd 標準版
|
|
147
|
-
/kiro:spec-design <feature>
|
|
148
|
-
|
|
149
|
-
# 具体例
|
|
150
|
-
/michi:spec-design user-auth
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
**推奨**: `/michi:spec-design` を使用すると、設計完了後に Phase 0.3-0.4(テスト計画)へのガイダンスが自動的に表示されます。
|
|
154
|
-
|
|
155
|
-
AIが以下を生成:
|
|
156
|
-
|
|
157
|
-
- アーキテクチャ図
|
|
158
|
-
- API設計
|
|
159
|
-
- データベース設計
|
|
160
|
-
- 見積もり
|
|
161
|
-
|
|
162
|
-
#### Phase 0.2 Step 2: GitHubにコミット
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
# 凡例
|
|
166
|
-
jj commit -m "docs: <feature> 設計追加"
|
|
167
|
-
jj git push
|
|
168
|
-
|
|
169
|
-
# 具体例
|
|
170
|
-
jj commit -m "docs: ユーザー認証 設計追加"
|
|
171
|
-
jj git push
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
#### Phase 0.2 Step 3: Confluenceに同期 + 見積もり出力
|
|
175
|
-
|
|
176
|
-
```bash
|
|
177
|
-
# 凡例
|
|
178
|
-
/michi:confluence-sync <feature>
|
|
179
|
-
|
|
180
|
-
# 具体例
|
|
181
|
-
/michi:confluence-sync user-auth
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
見積もりExcelファイルが `estimates/<feature>-estimate.xlsx` に出力されます。
|
|
185
|
-
|
|
186
|
-
#### Phase 0.2 Step 4: 承認待ち
|
|
187
|
-
|
|
188
|
-
アーキテクト・部長がレビュー・承認
|
|
189
|
-
|
|
190
|
-
### Phase 0.3-0.4: テスト計画
|
|
191
|
-
|
|
192
|
-
> **Michi 固有機能**: Phase 0.3-0.4 は Michi 独自の拡張フェーズです。cc-sdd 標準には含まれません。
|
|
193
|
-
>
|
|
194
|
-
> `/michi:spec-design` コマンドを使用すると、設計完了後に自動的にこのフェーズへのガイダンスが表示されます。
|
|
195
|
-
|
|
196
|
-
#### Phase 0.3: テストタイプの選択
|
|
197
|
-
|
|
198
|
-
Phase 0.2(設計)完了後、Phase 0.5(タスク分割)の前に、どのテストタイプが必要かを決定します。
|
|
199
|
-
|
|
200
|
-
詳細は [テスト計画フロー](../testing/test-planning-flow.md#phase-03-テストタイプの選択) を参照してください。
|
|
201
|
-
|
|
202
|
-
**選択基準**:
|
|
203
|
-
|
|
204
|
-
- 単体テスト: すべてのプロジェクトで必須
|
|
205
|
-
- 統合テスト: 複数コンポーネントが連携するシステムで推奨
|
|
206
|
-
- E2Eテスト: ユーザーインターフェースを持つアプリケーションで推奨
|
|
207
|
-
- パフォーマンステスト: 高負荷が予想される、レスポンスタイムが重要な場合
|
|
208
|
-
- セキュリティテスト: 機密データを扱う、外部公開APIの場合
|
|
209
|
-
|
|
210
|
-
#### Phase 0.4: テスト仕様書の作成
|
|
211
|
-
|
|
212
|
-
Phase 0.3で選択したテストタイプごとに、テスト仕様書を作成します。
|
|
213
|
-
|
|
214
|
-
詳細は [テスト計画フロー](../testing/test-planning-flow.md#phase-04-テスト仕様書の作成) を参照してください。
|
|
215
|
-
|
|
216
|
-
**使用するテンプレート**:
|
|
217
|
-
|
|
218
|
-
- 単体テスト: `templates/test-specs/unit-test-spec-template.md`
|
|
219
|
-
- 統合テスト: `templates/test-specs/integration-test-spec-template.md`
|
|
220
|
-
- E2Eテスト: `templates/test-specs/e2e-test-spec-template.md`
|
|
221
|
-
- パフォーマンステスト: `templates/test-specs/performance-test-spec-template.md`
|
|
222
|
-
- セキュリティテスト: `templates/test-specs/security-test-spec-template.md`
|
|
223
|
-
|
|
224
|
-
### Phase 0.5-0.6: タスク分割とJIRA同期
|
|
225
|
-
|
|
226
|
-
#### Phase 0.5 Step 1: タスク生成
|
|
227
|
-
|
|
228
|
-
```bash
|
|
229
|
-
# 凡例
|
|
230
|
-
/kiro:spec-tasks <feature>
|
|
231
|
-
|
|
232
|
-
# 具体例
|
|
233
|
-
/kiro:spec-tasks user-auth
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
AIが実装タスクをストーリーに分割し、tasks.mdを生成します。
|
|
237
|
-
|
|
238
|
-
#### Phase 0.5 Step 2: GitHubにコミット
|
|
239
|
-
|
|
240
|
-
```bash
|
|
241
|
-
# 凡例
|
|
242
|
-
jj commit -m "docs: <feature> タスク分割追加"
|
|
243
|
-
jj git push
|
|
244
|
-
|
|
245
|
-
# 具体例
|
|
246
|
-
jj commit -m "docs: ユーザー認証 タスク分割追加"
|
|
247
|
-
jj git push
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
#### Phase 0.6 Step 1: JIRAに同期
|
|
251
|
-
|
|
252
|
-
```bash
|
|
253
|
-
# 凡例
|
|
254
|
-
michi jira:sync <feature>
|
|
255
|
-
|
|
256
|
-
# 具体例
|
|
257
|
-
michi jira:sync user-auth
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
自動的に:
|
|
261
|
-
|
|
262
|
-
- Epic作成: `[<project-name>] <feature>`
|
|
263
|
-
- Story作成: 各実装タスク
|
|
264
|
-
- Subtask作成: テスト、レビュータスク
|
|
265
|
-
|
|
266
|
-
### Phase 1: 環境構築・基盤整備
|
|
267
|
-
|
|
268
|
-
Phase 0.6までのテスト計画が完了したら、Phase 1で実装環境とテスト環境を整備します。
|
|
269
|
-
|
|
270
|
-
詳細は [テスト計画フロー](../testing/test-planning-flow.md#phase-1-環境構築基盤整備) を参照してください。
|
|
271
|
-
|
|
272
|
-
**実施内容**:
|
|
273
|
-
|
|
274
|
-
- プロジェクト初期化
|
|
275
|
-
- 依存関係インストール(テストフレームワーク、Lintツール等)
|
|
276
|
-
- データベース接続設定
|
|
277
|
-
- テスト環境の準備(pytest, vitest, JUnit等)
|
|
278
|
-
- テストデータの準備(fixtures, seed等)
|
|
279
|
-
- テストディレクトリ構造の作成
|
|
280
|
-
|
|
281
|
-
**テストディレクトリ構造例**:
|
|
282
|
-
|
|
283
|
-
```
|
|
284
|
-
tests/
|
|
285
|
-
├── specs/ # テスト仕様書(Phase 0.4で作成)
|
|
286
|
-
├── unit/ # 単体テスト(Phase 2で作成)
|
|
287
|
-
├── integration/ # 統合テスト(Phase 2で作成、必要に応じて)
|
|
288
|
-
├── e2e/ # E2Eテスト(Phase 2で作成、必要に応じて)
|
|
289
|
-
├── performance/ # パフォーマンステスト(Phase 2で作成、任意)
|
|
290
|
-
└── security/ # セキュリティテスト(Phase 2で作成、任意)
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### Phase 2: TDD実装
|
|
294
|
-
|
|
295
|
-
#### Phase 2 Step 1: TDD実装(JIRA連携付き)
|
|
296
|
-
|
|
297
|
-
```bash
|
|
298
|
-
# 凡例
|
|
299
|
-
/kiro:spec-impl <feature>
|
|
300
|
-
|
|
301
|
-
# 具体例
|
|
302
|
-
/kiro:spec-impl user-auth
|
|
303
|
-
```
|
|
304
|
-
|
|
305
|
-
AIがTDD(テスト駆動開発)で実装します。JIRA連携は**自動**で行われます。
|
|
306
|
-
|
|
307
|
-
**自動実行される処理**:
|
|
308
|
-
|
|
309
|
-
- ✅ spec.json から JIRA 情報(Epic + Story)を自動取得
|
|
310
|
-
- ✅ Epic と最初の Story を「進行中」に移動
|
|
311
|
-
- ✅ TDD サイクルで実装
|
|
312
|
-
- ✅ PR 作成
|
|
313
|
-
- ✅ Epic と最初の Story を「レビュー待ち」に移動
|
|
314
|
-
- ✅ JIRA に PR リンクをコメント
|
|
315
|
-
|
|
316
|
-
詳細は [TDDサイクル](../testing/tdd-cycle.md) を参照してください。
|
|
317
|
-
|
|
318
|
-
**TDDサイクル**:
|
|
319
|
-
|
|
320
|
-
1. RED: 失敗するテストを書く
|
|
321
|
-
2. GREEN: 最小限の実装でテストを通す
|
|
322
|
-
3. REFACTOR: コードを改善する
|
|
323
|
-
|
|
324
|
-
**重要**: Phase 2では、テストコードと実装コードを同時進行で作成します。Phase 0.4で作成したテスト仕様書に基づき、TDDサイクルを繰り返しながら開発を進めます。
|
|
325
|
-
|
|
326
|
-
#### Phase 2 Step 2: コミット
|
|
327
|
-
|
|
328
|
-
```bash
|
|
329
|
-
# 凡例
|
|
330
|
-
jj commit -m "feat: <feature> 実装 [JIRA-XXX]"
|
|
331
|
-
jj bookmark create <project-id>/feature/<feature> -r '@-'
|
|
332
|
-
jj git push --bookmark <project-id>/feature/<feature> --allow-new
|
|
333
|
-
|
|
334
|
-
# 具体例
|
|
335
|
-
jj commit -m "feat: ユーザー認証実装 [MICHI-123]"
|
|
336
|
-
jj bookmark create michi/feature/user-auth -r '@-'
|
|
337
|
-
jj git push --bookmark michi/feature/user-auth --allow-new
|
|
338
|
-
```
|
|
339
|
-
|
|
340
|
-
**注意**: JIRA連携は `/kiro:spec-impl` コマンドが自動で行うため、手動でのステータス変更は不要です。
|
|
341
|
-
|
|
342
|
-
**個別のJIRA操作が必要な場合**:
|
|
343
|
-
|
|
344
|
-
```bash
|
|
345
|
-
# ステータス変更
|
|
346
|
-
michi jira:transition MICHI-123 "In Progress"
|
|
347
|
-
|
|
348
|
-
# コメント追加
|
|
349
|
-
michi jira:comment MICHI-123 "補足コメント"
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
### Phase A: PR作成前の自動テスト
|
|
353
|
-
|
|
354
|
-
Phase 2(実装)が完了したら、PR作成前にPhase Aのテストを実行します。
|
|
355
|
-
|
|
356
|
-
詳細は [テスト実行フロー - Phase A](../testing/test-execution-flow.md#phase-a-pr作成前の自動テスト) を参照してください。
|
|
357
|
-
|
|
358
|
-
**実行内容**:
|
|
359
|
-
|
|
360
|
-
- 単体テスト(必須)
|
|
361
|
-
- Lint(必須)
|
|
362
|
-
- ビルド(必須)
|
|
363
|
-
|
|
364
|
-
**実行方法**:
|
|
365
|
-
|
|
366
|
-
- ローカルで事前確認: `npm test && npm run lint && npm run build`
|
|
367
|
-
- CI/CDが自動実行(GitHub Actions / Screwdriver)
|
|
368
|
-
|
|
369
|
-
**合格基準**:
|
|
370
|
-
|
|
371
|
-
- すべての単体テストが成功
|
|
372
|
-
- Lintエラー: 0件
|
|
373
|
-
- ビルドエラー: 0件
|
|
374
|
-
|
|
375
|
-
Phase Aが成功したら、PRを作成します。
|
|
376
|
-
|
|
377
|
-
#### Phase A Step 1: PR作成
|
|
378
|
-
|
|
379
|
-
```bash
|
|
380
|
-
# 凡例
|
|
381
|
-
gh pr create --head <project-id>/feature/<feature> --base main \
|
|
382
|
-
--title "[JIRA-XXX] <タイトル>" \
|
|
383
|
-
--body "<説明>"
|
|
384
|
-
|
|
385
|
-
# 具体例
|
|
386
|
-
gh pr create --head michi/feature/user-auth --base main \
|
|
387
|
-
--title "[MICHI-123] ユーザー認証実装" \
|
|
388
|
-
--body "実装内容..."
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
### Phase 3: 追加の品質保証(PRマージ後)
|
|
392
|
-
|
|
393
|
-
PRがマージされた後、Phase 3で追加の品質保証を実施します。
|
|
394
|
-
|
|
395
|
-
**実行内容**:
|
|
396
|
-
|
|
397
|
-
- 静的解析(詳細な品質チェック)
|
|
398
|
-
- セキュリティスキャン
|
|
399
|
-
- カバレッジ確認と改善
|
|
400
|
-
|
|
401
|
-
**目的**:
|
|
402
|
-
|
|
403
|
-
- Phase Aで検出できなかった問題の早期発見
|
|
404
|
-
- コード品質の継続的な向上
|
|
405
|
-
- リリース前の品質保証を強化
|
|
406
|
-
|
|
407
|
-
### Phase B: リリース準備時の手動テスト
|
|
408
|
-
|
|
409
|
-
Phase 3完了後、リリース準備時にPhase Bのテストを実行します。
|
|
410
|
-
|
|
411
|
-
詳細は [テスト実行フロー - Phase B](../testing/test-execution-flow.md#phase-b-リリース準備時の手動テスト) を参照してください。
|
|
412
|
-
|
|
413
|
-
**実行内容**:
|
|
414
|
-
|
|
415
|
-
- 統合テスト(推奨): 複数コンポーネント間の連携を検証
|
|
416
|
-
- E2Eテスト(推奨): ユーザー視点での完全なフローを検証
|
|
417
|
-
- パフォーマンステスト(任意): システムの性能を検証
|
|
418
|
-
- セキュリティテスト(任意): セキュリティ脆弱性を検証
|
|
419
|
-
|
|
420
|
-
**対話的テスト作成**:
|
|
421
|
-
|
|
422
|
-
テストファイルを対話的に作成できます:
|
|
423
|
-
|
|
424
|
-
```bash
|
|
425
|
-
npm run test:interactive
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
以下のテストタイプに対応:
|
|
429
|
-
|
|
430
|
-
1. **手動回帰テスト**: curlベースのAPIテスト
|
|
431
|
-
2. **負荷テスト**: Locustを使用した負荷テスト
|
|
432
|
-
3. **セキュリティテスト**: OWASP ZAPを使用したセキュリティスキャン
|
|
433
|
-
|
|
434
|
-
実行ファイルは `michi phase:run` コマンドにより動的に生成されます。
|
|
435
|
-
|
|
436
|
-
**実行タイミング**:
|
|
437
|
-
|
|
438
|
-
- PRがmainブランチにマージされた後
|
|
439
|
-
- リリースタグを作成する前
|
|
440
|
-
|
|
441
|
-
**重要**: Phase Bで問題が見つかった場合は、バグ修正のPRを作成し、Phase A → マージ → Phase Bのフローを経て修正します。
|
|
442
|
-
|
|
443
|
-
### Phase 4-5: リリース準備と実行
|
|
444
|
-
|
|
445
|
-
Phase Bのすべてのテストが成功したら、リリース準備とリリース実行を行います。
|
|
446
|
-
|
|
447
|
-
詳細は [リリースフロー](../release/release-flow.md) を参照してください。
|
|
448
|
-
|
|
449
|
-
#### Phase 4: リリース準備ドキュメント作成
|
|
450
|
-
|
|
451
|
-
**Confluenceリリース手順書作成**:
|
|
452
|
-
|
|
453
|
-
- リリースバージョン、予定日、担当者
|
|
454
|
-
- リリース内容(新機能、バグ修正、変更点)
|
|
455
|
-
- 影響範囲
|
|
456
|
-
- リリース手順(事前準備、作業、事後確認)
|
|
457
|
-
- ロールバック手順
|
|
458
|
-
|
|
459
|
-
**リリースJIRA起票**:
|
|
460
|
-
|
|
461
|
-
- プロジェクト、課題タイプ、要約、説明
|
|
462
|
-
- Phase B完了確認チェックリスト
|
|
463
|
-
- リリース作業チェックリスト
|
|
464
|
-
|
|
465
|
-
#### Phase 5: リリース実行
|
|
466
|
-
|
|
467
|
-
**タグ作成**:
|
|
468
|
-
|
|
469
|
-
```bash
|
|
470
|
-
git tag -a v1.0.0 -m "Release version 1.0.0"
|
|
471
|
-
git push origin v1.0.0
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
**CI/CD実行確認**:
|
|
475
|
-
|
|
476
|
-
- GitHub ActionsまたはScrewdriverのステータス確認
|
|
477
|
-
|
|
478
|
-
**GitHub Release作成**:
|
|
479
|
-
|
|
480
|
-
```bash
|
|
481
|
-
gh release create v1.0.0 --title "Release v1.0.0" --notes-file release-notes.md
|
|
482
|
-
```
|
|
483
|
-
|
|
484
|
-
**リリース完了後**:
|
|
485
|
-
|
|
486
|
-
- リリースJIRAをクローズ
|
|
487
|
-
- 関係者への報告
|
|
488
|
-
|
|
489
|
-
## 統合ワークフロー実行
|
|
490
|
-
|
|
491
|
-
すべてのフェーズを自動実行:
|
|
492
|
-
|
|
493
|
-
```bash
|
|
494
|
-
# 凡例
|
|
495
|
-
michi workflow:run --feature <feature>
|
|
496
|
-
|
|
497
|
-
# 具体例
|
|
498
|
-
michi workflow:run --feature user-auth
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
承認ゲートで一時停止し、承認後に次のフェーズに進みます。
|
|
502
|
-
|
|
503
|
-
### 承認ゲートの設定
|
|
504
|
-
|
|
505
|
-
ワークフロー実行時の承認ゲートで使用するロール名は、環境変数で設定できます。
|
|
506
|
-
|
|
507
|
-
#### 環境変数設定
|
|
508
|
-
|
|
509
|
-
`.env` ファイルに以下を追加:
|
|
510
|
-
|
|
511
|
-
```bash
|
|
512
|
-
# 要件定義フェーズの承認者
|
|
513
|
-
APPROVAL_GATES_REQUIREMENTS=pm,director
|
|
514
|
-
|
|
515
|
-
# 設計フェーズの承認者
|
|
516
|
-
APPROVAL_GATES_DESIGN=architect,director
|
|
517
|
-
|
|
518
|
-
# リリースフェーズの承認者
|
|
519
|
-
APPROVAL_GATES_RELEASE=sm,director
|
|
520
|
-
```
|
|
521
|
-
|
|
522
|
-
#### 設定例
|
|
523
|
-
|
|
524
|
-
**デフォルト(英語ロール名):**
|
|
525
|
-
|
|
526
|
-
```bash
|
|
527
|
-
APPROVAL_GATES_REQUIREMENTS=pm,director
|
|
528
|
-
APPROVAL_GATES_DESIGN=architect,director
|
|
529
|
-
APPROVAL_GATES_RELEASE=sm,director
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
**日本語ロール名:**
|
|
533
|
-
|
|
534
|
-
```bash
|
|
535
|
-
APPROVAL_GATES_REQUIREMENTS=企画,部長
|
|
536
|
-
APPROVAL_GATES_DESIGN=アーキテクト,部長
|
|
537
|
-
APPROVAL_GATES_RELEASE=SM,部長
|
|
538
|
-
```
|
|
539
|
-
|
|
540
|
-
**カスタムロール名:**
|
|
541
|
-
|
|
542
|
-
```bash
|
|
543
|
-
APPROVAL_GATES_REQUIREMENTS=product-manager,cto,legal
|
|
544
|
-
APPROVAL_GATES_DESIGN=tech-lead,architect,security
|
|
545
|
-
APPROVAL_GATES_RELEASE=release-manager,qa-lead,director
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
詳細は [セットアップガイド](./setup.md#4-3-ワークフロー承認ゲートの設定オプション) を参照してください。
|
|
549
|
-
|
|
550
|
-
## ベストプラクティス
|
|
551
|
-
|
|
552
|
-
1. **小さく始める**: 最初は1フェーズずつ手動実行
|
|
553
|
-
2. **承認を待つ**: 各フェーズで承認を取ってから次へ
|
|
554
|
-
3. **GitHubを真実の源に**: 編集は常にGitHubで
|
|
555
|
-
4. **定期的な同期**: GitHub更新後は必ずConfluence/JIRA同期
|
|
556
|
-
5. **プロジェクトメタデータの維持**: `.kiro/project.json` を最新に保つ
|
|
557
|
-
|
|
558
|
-
## トラブルシューティング
|
|
559
|
-
|
|
560
|
-
### Confluence同期エラー
|
|
561
|
-
|
|
562
|
-
- `.env` の認証情報を確認
|
|
563
|
-
- Confluenceスペースが存在するか確認
|
|
564
|
-
- Markdownファイルが存在するか確認
|
|
565
|
-
|
|
566
|
-
### JIRA同期エラー
|
|
567
|
-
|
|
568
|
-
- JIRAプロジェクトキーが正しいか確認
|
|
569
|
-
- Epic/Storyの作成権限があるか確認
|
|
570
|
-
|
|
571
|
-
### PR作成エラー
|
|
572
|
-
|
|
573
|
-
- GitHub認証を確認: `gh auth status`
|
|
574
|
-
- ブランチが存在するか確認: `jj bookmark list`
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
# Michiハンズオンガイド
|
|
2
|
-
|
|
3
|
-
Michiを実際に使って、セットアップから実装・PR作成まで全ワークフローを体験するハンズオンガイドです。
|
|
4
|
-
|
|
5
|
-
## 🎯 このガイドの目的
|
|
6
|
-
|
|
7
|
-
- Michiの全ワークフローを実際に体験する
|
|
8
|
-
- cc-sddとMichiの統合方法を理解する
|
|
9
|
-
- Confluence/JIRA連携の動作を確認する
|
|
10
|
-
- 実際のプロジェクトで使えるスキルを習得する
|
|
11
|
-
|
|
12
|
-
## 📚 ガイドの構成
|
|
13
|
-
|
|
14
|
-
### 1. 環境別セットアップガイド
|
|
15
|
-
|
|
16
|
-
ご利用の環境に応じて、以下のいずれかを選択してください:
|
|
17
|
-
|
|
18
|
-
- **[Cursor IDEセットアップガイド](./cursor-setup.md)** (推奨)
|
|
19
|
-
- Cursor IDEを使用している場合
|
|
20
|
-
- GUI操作が中心で、初心者にも優しい
|
|
21
|
-
|
|
22
|
-
- **[Claude Codeセットアップガイド](./claude-setup.md)**
|
|
23
|
-
- Claude Codeを使用している場合
|
|
24
|
-
- コマンドライン操作が中心
|
|
25
|
-
|
|
26
|
-
- **[Claude Subagentsセットアップガイド](./claude-agent-setup.md)**
|
|
27
|
-
- Claude Subagentsを使用している場合
|
|
28
|
-
- マルチエージェント開発環境
|
|
29
|
-
|
|
30
|
-
### 2. ワークフロー体験ガイド
|
|
31
|
-
|
|
32
|
-
環境のセットアップが完了したら、こちらで実際の開発フローを体験してください:
|
|
33
|
-
|
|
34
|
-
- **[ワークフロー体験ガイド](./workflow-walkthrough.md)** ⭐
|
|
35
|
-
- サンプル機能(`health-check-endpoint`)を使った実践
|
|
36
|
-
- spec-init → requirements → design → tasks → 実装の流れ
|
|
37
|
-
- Confluence/JIRA連携の確認
|
|
38
|
-
|
|
39
|
-
### 3. 検証・トラブルシューティング
|
|
40
|
-
|
|
41
|
-
作業中の確認や問題解決に使用してください:
|
|
42
|
-
|
|
43
|
-
- **[検証チェックリスト](./verification-checklist.md)**
|
|
44
|
-
- 各ステップの成功確認項目
|
|
45
|
-
- 生成物の確認方法
|
|
46
|
-
|
|
47
|
-
- **[トラブルシューティング](./troubleshooting.md)**
|
|
48
|
-
- よくある問題と解決策
|
|
49
|
-
- エラーメッセージの対処法
|
|
50
|
-
|
|
51
|
-
## ⏱️ 所要時間
|
|
52
|
-
|
|
53
|
-
- **セットアップ**: 15-20分
|
|
54
|
-
- **ワークフロー体験**: 30-40分
|
|
55
|
-
- **合計**: 約1時間
|
|
56
|
-
|
|
57
|
-
## 📋 前提条件
|
|
58
|
-
|
|
59
|
-
以下がインストール済みであることを確認してください:
|
|
60
|
-
|
|
61
|
-
- Node.js 20.x以上
|
|
62
|
-
- npm 10.x以上
|
|
63
|
-
- Git(または Jujutsu (jj))
|
|
64
|
-
- GitHub CLI (gh)
|
|
65
|
-
- Cursor IDE / VS Code / Claude Code(いずれか)
|
|
66
|
-
|
|
67
|
-
## 🚀 始め方
|
|
68
|
-
|
|
69
|
-
### Step 1: 環境を選択
|
|
70
|
-
|
|
71
|
-
使用するIDE/ツールに応じたセットアップガイドを選択してください:
|
|
72
|
-
|
|
73
|
-
- [Cursor IDE](./cursor-setup.md) 👈 初めての方におすすめ
|
|
74
|
-
- [Claude Code](./claude-setup.md)
|
|
75
|
-
- [Claude Subagents](./claude-agent-setup.md)
|
|
76
|
-
|
|
77
|
-
### Step 2: ワークフロー体験
|
|
78
|
-
|
|
79
|
-
セットアップが完了したら、[ワークフロー体験ガイド](./workflow-walkthrough.md)に進んでください。
|
|
80
|
-
|
|
81
|
-
### Step 3: 実践
|
|
82
|
-
|
|
83
|
-
ハンズオンで学んだ内容を実際のプロジェクトで応用してください。
|
|
84
|
-
|
|
85
|
-
## 💡 サンプル機能について
|
|
86
|
-
|
|
87
|
-
このハンズオンでは、`health-check-endpoint`という機能を例に使用します。
|
|
88
|
-
|
|
89
|
-
**機能概要**: アプリケーションの稼働状況を確認するHTTPエンドポイント
|
|
90
|
-
|
|
91
|
-
**選定理由**:
|
|
92
|
-
- シンプルで理解しやすい
|
|
93
|
-
- 実装が少ない(検証が容易)
|
|
94
|
-
- 実際のプロジェクトでもよく使われる機能
|
|
95
|
-
|
|
96
|
-
## 📖 関連ドキュメント
|
|
97
|
-
|
|
98
|
-
ハンズオン完了後、さらに詳しく学びたい方は以下をご覧ください:
|
|
99
|
-
|
|
100
|
-
### 基礎ガイド
|
|
101
|
-
- [クイックスタート](../getting-started/quick-start.md) - 5分で始める
|
|
102
|
-
- [セットアップガイド](../getting-started/setup.md) - 詳細なインストール手順
|
|
103
|
-
|
|
104
|
-
### 実践ガイド
|
|
105
|
-
- [ワークフローガイド](../guides/workflow.md) - 全フェーズの詳細解説
|
|
106
|
-
- [フェーズ自動化ガイド](../guides/phase-automation.md) - Confluence/JIRA自動化
|
|
107
|
-
- [マルチプロジェクト管理](../guides/multi-project.md) - 複数プロジェクトの同時管理
|
|
108
|
-
|
|
109
|
-
### リファレンス
|
|
110
|
-
- [クイックリファレンス](../reference/quick-reference.md) - コマンド一覧
|
|
111
|
-
- [設定値リファレンス](../reference/config.md) - `.michi/config.json`の全設定
|
|
112
|
-
|
|
113
|
-
## 🆘 サポート
|
|
114
|
-
|
|
115
|
-
質問や問題がある場合は、以下をご利用ください:
|
|
116
|
-
|
|
117
|
-
- [トラブルシューティングガイド](./troubleshooting.md)
|
|
118
|
-
- [GitHubイシュー](https://github.com/sk8metalme/michi/issues)
|
|
119
|
-
- [メインREADME](../../README.md)
|
|
120
|
-
|
|
121
|
-
## 🎓 学習の進め方
|
|
122
|
-
|
|
123
|
-
1. **まずはセットアップ**: 環境別ガイドを1つ選んで完了させる
|
|
124
|
-
2. **ワークフロー体験**: サンプル機能で全体の流れを理解
|
|
125
|
-
3. **検証チェック**: 各ステップで正しく動作しているか確認
|
|
126
|
-
4. **実践**: 実際のプロジェクトで適用
|
|
127
|
-
|
|
128
|
-
## ✨ このガイドで学べること
|
|
129
|
-
|
|
130
|
-
- ✅ Michiの基本的なセットアップ方法
|
|
131
|
-
- ✅ cc-sddとMichiの連携方法
|
|
132
|
-
- ✅ AI駆動開発ワークフローの全体像
|
|
133
|
-
- ✅ Confluence/JIRA自動連携の仕組み
|
|
134
|
-
- ✅ phase:runコマンドの使い方
|
|
135
|
-
- ✅ 実際のプロジェクトへの適用方法
|
|
136
|
-
|
|
137
|
-
それでは、始めましょう! 🚀
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|