@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
package/README.md
CHANGED
|
@@ -6,8 +6,6 @@ AI駆動開発ワークフロー自動化プラットフォーム
|
|
|
6
6
|
|
|
7
7
|
[](https://badge.fury.io/js/@sk8metal%2Fmichi-cli)
|
|
8
8
|
[](https://github.com/sk8metalme/michi/actions/workflows/ci.yml)
|
|
9
|
-
[](https://github.com/sk8metalme/michi/actions/workflows/test-setup.yml)
|
|
10
|
-
[](https://github.com/sk8metalme/michi/actions/workflows/security.yml)
|
|
11
9
|
[](https://codecov.io/gh/sk8metalme/michi)
|
|
12
10
|
|
|
13
11
|
## 概要
|
|
@@ -18,912 +16,137 @@ Michiは、開発フロー全体(要件定義→設計→タスク分割→実
|
|
|
18
16
|
|
|
19
17
|
### 主な機能
|
|
20
18
|
|
|
21
|
-
- ✅ **AI駆動開発**:
|
|
22
|
-
- ✅
|
|
23
|
-
- ✅
|
|
24
|
-
- ✅ **Confluence/JIRA連携**:
|
|
25
|
-
- ✅
|
|
26
|
-
- ✅
|
|
27
|
-
- ✅ **フェーズバリデーション**: フェーズ抜け漏れ防止の自動チェック
|
|
28
|
-
- ✅ **スキル・サブエージェント**: デザインレビュー、ライセンスチェック、バージョン監査、E2Eプランニング、PRレビュー対応、Mermaid図検証
|
|
19
|
+
- ✅ **AI駆動開発**: Claude Code統合
|
|
20
|
+
- ✅ **テスト計画統合**: Phase 0.3-0.4でテストタイプ選択とテスト仕様書作成
|
|
21
|
+
- ✅ **品質自動化**: OSSライセンスチェック、バージョン監査、自動レビュー
|
|
22
|
+
- ✅ **Confluence/JIRA連携**: 自動同期、タスク管理、進捗追跡
|
|
23
|
+
- ✅ **Multi-Repo管理**: マイクロサービス・モノレポ対応
|
|
24
|
+
- ✅ **多言語サポート**: Node.js、Java(Gradle)、PHP対応
|
|
29
25
|
|
|
30
26
|
### アーキテクチャ
|
|
31
27
|
|
|
32
28
|
```text
|
|
33
|
-
GitHub (.kiro/specs/) ←
|
|
29
|
+
GitHub (.kiro/specs/) ← 情報源(Single Source of Truth)
|
|
34
30
|
↓ 自動同期
|
|
35
31
|
Confluence ← ドキュメント管理
|
|
36
32
|
JIRA ← タスク管理・進捗追跡
|
|
37
33
|
```
|
|
38
34
|
|
|
39
|
-
## ワークフロー構造の概要
|
|
40
|
-
|
|
41
|
-
### 新ワークフロー構造(推奨)
|
|
42
|
-
|
|
43
|
-
Michiは以下のフェーズで構成されています:
|
|
44
|
-
|
|
45
|
-
**Phase 0.0-0.6: 仕様化フェーズ**
|
|
46
|
-
|
|
47
|
-
- **Phase 0.0**: プロジェクト初期化
|
|
48
|
-
- **Phase 0.1**: 要件定義(Requirements) - 必須
|
|
49
|
-
- **Phase 0.2**: 設計(Design) - 必須
|
|
50
|
-
- **Phase 0.3**: テストタイプ選択(任意)
|
|
51
|
-
- **Phase 0.4**: テスト仕様書作成(任意)
|
|
52
|
-
- **Phase 0.5**: タスク分割 - 必須
|
|
53
|
-
- **Phase 0.6**: JIRA同期 - 必須
|
|
54
|
-
|
|
55
|
-
**Phase 1: 環境構築(任意)**
|
|
56
|
-
|
|
57
|
-
- テスト環境のセットアップ
|
|
58
|
-
- 開発環境の構築
|
|
59
|
-
|
|
60
|
-
**Phase 2: TDD実装(必須)**
|
|
61
|
-
|
|
62
|
-
- テスト駆動開発による実装
|
|
63
|
-
- RED-GREEN-REFACTORサイクル
|
|
64
|
-
|
|
65
|
-
**Phase A: PR前自動テスト(任意)**
|
|
66
|
-
|
|
67
|
-
- 単体テスト自動実行
|
|
68
|
-
- Lint自動実行
|
|
69
|
-
- ビルド自動実行
|
|
70
|
-
|
|
71
|
-
**Phase 3: 追加QA(任意)**
|
|
72
|
-
|
|
73
|
-
- 統合テスト
|
|
74
|
-
- E2Eテスト
|
|
75
|
-
|
|
76
|
-
**Phase B: リリース準備テスト(任意)**
|
|
77
|
-
|
|
78
|
-
- 手動テスト実行
|
|
79
|
-
- セキュリティテスト
|
|
80
|
-
- パフォーマンステスト
|
|
81
|
-
|
|
82
|
-
**Phase 4: リリース準備(必須)**
|
|
83
|
-
|
|
84
|
-
- 本番環境構築
|
|
85
|
-
- リリースドキュメント作成
|
|
86
|
-
|
|
87
|
-
**Phase 5: リリース(必須)**
|
|
88
|
-
|
|
89
|
-
- ステージング環境デプロイ
|
|
90
|
-
- 本番環境リリース
|
|
91
|
-
|
|
92
|
-
### レガシー6-Phaseサポート
|
|
93
|
-
|
|
94
|
-
後方互換性のため、従来のPhase 0-5構造(要件定義→設計→実装→試験→リリース準備→リリース)もサポートしています。既存プロジェクトはそのまま動作します。
|
|
95
|
-
|
|
96
|
-
詳細は [ワークフローガイド](./docs/user-guide/guides/workflow.md) を参照してください。
|
|
97
|
-
|
|
98
|
-
### 対応プロジェクト
|
|
99
|
-
|
|
100
|
-
Michiは**言語非依存**で、どんなプロジェクトでも使用できます:
|
|
101
|
-
|
|
102
|
-
- ✅ **Java**(Maven/Gradle)
|
|
103
|
-
- ✅ **Python**(pip/poetry/uv)
|
|
104
|
-
- ✅ **Go**(go mod)
|
|
105
|
-
- ✅ **Node.js**(npm/yarn/pnpm)
|
|
106
|
-
- ✅ **Rust**(Cargo)
|
|
107
|
-
- ✅ **PHP**(Composer)
|
|
108
|
-
- ✅ **Ruby**(Bundler)
|
|
109
|
-
- ✅ その他あらゆる言語
|
|
110
|
-
|
|
111
|
-
**重要**: Michiは`package.json`を要求しません。プロジェクトの設定は`.kiro/project.json`で完結します。
|
|
112
|
-
|
|
113
35
|
## クイックスタート
|
|
114
36
|
|
|
115
|
-
### 前提条件
|
|
116
|
-
|
|
117
|
-
- Node.js 20.x以上(Michi CLIの実行に必要。プロジェクト自体はNode.jsでなくてもOK)
|
|
118
|
-
- Git(または Jujutsu (jj) も使用可能)
|
|
119
|
-
- **AI開発環境**(以下のいずれか):
|
|
120
|
-
- [Cursor IDE](https://cursor.sh/) (推奨)
|
|
121
|
-
- [Claude Code](https://claude.com/claude-code)
|
|
122
|
-
- [Gemini CLI](https://geminicli.com/)
|
|
123
|
-
- [Codex CLI](https://developers.openai.com/codex/cli)
|
|
124
|
-
- [Cline](https://cline.bot/) (VSCode拡張)
|
|
125
|
-
- VSCode + 他のAI拡張
|
|
126
|
-
- GitHub CLI (gh) - PR作成時に使用
|
|
127
|
-
- **GitHub Personal Access Token** - GitHub連携に必要([作成ガイド](./docs/user-guide/getting-started/github-token-setup.md))
|
|
128
|
-
- **cc-sdd**: AI駆動開発ワークフローのコアフレームワーク
|
|
129
|
-
|
|
130
|
-
**重要な注意事項**:
|
|
131
|
-
|
|
132
|
-
- ⚠️ **セットアップ時にテンプレートファイルが不足している場合、エラーが発生します**
|
|
133
|
-
- 最新のMichiをインストールしてください
|
|
134
|
-
- エラーが発生した場合は[トラブルシューティング](./docs/hands-on/troubleshooting.md)を参照
|
|
135
|
-
- ⚠️ **tasks.mdのフォーマットが間違っているとJIRA同期が失敗します**
|
|
136
|
-
- 新ワークフロー構造では必須フェーズ(Phase 0.1, 0.2, 2, 4, 5)が必要です
|
|
137
|
-
- レガシー構造では全6フェーズ(Phase 0-5)が必須です
|
|
138
|
-
- AIコマンド実行時は必ずテンプレートを参照するよう指示してください
|
|
139
|
-
- 詳細: [tasks.mdフォーマット問題](./docs/hands-on/troubleshooting.md#問題-tasksmdのフォーマットが間違っているformat-validation-error)
|
|
140
|
-
|
|
141
37
|
### インストール
|
|
142
38
|
|
|
143
|
-
#### 方法1: NPMパッケージとしてインストール(推奨)
|
|
144
|
-
|
|
145
39
|
```bash
|
|
146
|
-
# グローバルインストール
|
|
147
40
|
npm install -g @sk8metal/michi-cli
|
|
148
|
-
|
|
149
|
-
# インストール確認
|
|
150
|
-
michi --version
|
|
151
41
|
```
|
|
152
42
|
|
|
153
|
-
|
|
43
|
+
### 初期化
|
|
154
44
|
|
|
155
45
|
```bash
|
|
156
|
-
#
|
|
157
|
-
|
|
158
|
-
cd michi
|
|
159
|
-
|
|
160
|
-
# Jujutsu (jj) を使う場合
|
|
161
|
-
# jj git clone https://github.com/sk8metalme/michi
|
|
162
|
-
# cd michi
|
|
163
|
-
|
|
164
|
-
# 依存関係のインストール
|
|
165
|
-
npm install
|
|
166
|
-
|
|
167
|
-
# ビルド
|
|
168
|
-
npm run build
|
|
169
|
-
|
|
170
|
-
# グローバルコマンドとしてリンク
|
|
171
|
-
npm link
|
|
172
|
-
|
|
173
|
-
# cc-sddのインストール(AI駆動開発ワークフローのコア)
|
|
174
|
-
npx cc-sdd@latest --lang ja --cursor
|
|
175
|
-
# または Claude Code の場合: npx cc-sdd@latest --lang ja --claude
|
|
176
|
-
|
|
177
|
-
# 環境変数の設定
|
|
178
|
-
cp env.example .env
|
|
179
|
-
# .env ファイルを編集して認証情報を設定
|
|
180
|
-
#
|
|
181
|
-
# 【重要】JIRA Issue Type IDの設定
|
|
182
|
-
# JIRA_ISSUE_TYPE_STORY と JIRA_ISSUE_TYPE_SUBTASK は必須です。
|
|
183
|
-
# これらの値はJIRAインスタンス固有のため、各デプロイメントで設定が必要です。
|
|
184
|
-
#
|
|
185
|
-
# 確認方法:
|
|
186
|
-
# 1. JIRA管理画面: Settings > Issues > Issue types で確認
|
|
187
|
-
# 2. REST API: GET https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
188
|
-
# レスポンスから "Story" と "Subtask" の "id" フィールドを取得
|
|
189
|
-
|
|
190
|
-
# MCP設定(Cursor用)
|
|
191
|
-
# mcp.json.example を参考に ~/.cursor/mcp.json を作成
|
|
192
|
-
# (詳細はdocs/getting-started/setup.md参照)
|
|
193
|
-
```
|
|
194
|
-
|
|
195
|
-
詳細なセットアップ手順は [docs/getting-started/setup.md](./docs/getting-started/setup.md) を参照してください。
|
|
46
|
+
# Claude Code向け(推奨)
|
|
47
|
+
michi init --claude-agent
|
|
196
48
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
> **凡例について**: `<feature>` などの記号の意味は [凡例の記号説明](#凡例の記号説明) を参照してください。
|
|
200
|
-
|
|
201
|
-
### 1. 新機能の開発(推奨フロー)
|
|
202
|
-
|
|
203
|
-
**AIコマンド + CLIツール実行** で抜け漏れを防止:
|
|
204
|
-
|
|
205
|
-
```bash
|
|
206
|
-
# Phase 0.0: プロジェクト初期化
|
|
207
|
-
# 凡例
|
|
208
|
-
/kiro:spec-init <機能説明>
|
|
209
|
-
|
|
210
|
-
# 具体例
|
|
211
|
-
/kiro:spec-init ユーザー認証機能
|
|
212
|
-
|
|
213
|
-
# Phase 0.1: 要件定義
|
|
214
|
-
# 凡例
|
|
215
|
-
/kiro:spec-requirements <feature> # AIで requirements.md 作成
|
|
216
|
-
npx @sk8metal/michi-cli phase:run <feature> requirements # Confluence作成+バリデーション(必須)
|
|
217
|
-
|
|
218
|
-
# 具体例
|
|
219
|
-
/kiro:spec-requirements user-auth # AIで requirements.md 作成
|
|
220
|
-
npx @sk8metal/michi-cli phase:run user-auth requirements # Confluence作成+バリデーション(必須)
|
|
221
|
-
|
|
222
|
-
# Phase 0.2: 設計
|
|
223
|
-
# 凡例
|
|
224
|
-
/kiro:spec-design <feature> # AIで design.md 作成
|
|
225
|
-
npx @sk8metal/michi-cli phase:run <feature> design # Confluence作成+バリデーション(必須)
|
|
226
|
-
|
|
227
|
-
# 具体例
|
|
228
|
-
/kiro:spec-design user-auth # AIで design.md 作成
|
|
229
|
-
npx @sk8metal/michi-cli phase:run user-auth design # Confluence作成+バリデーション(必須)
|
|
230
|
-
|
|
231
|
-
# Phase 0.3-0.4: テスト計画(任意)
|
|
232
|
-
# プロジェクトに応じてテストタイプを選択し、テスト仕様書を作成
|
|
233
|
-
# 詳細: docs/user-guide/testing/test-planning-flow.md
|
|
234
|
-
|
|
235
|
-
# Phase 0.5-0.6: タスク分割とJIRA同期
|
|
236
|
-
# 凡例
|
|
237
|
-
/kiro:spec-tasks <feature> # AIで tasks.md 作成(全フェーズ)
|
|
238
|
-
npx @sk8metal/michi-cli phase:run <feature> tasks # 全フェーズのJIRA作成+バリデーション(必須)
|
|
239
|
-
|
|
240
|
-
# 具体例
|
|
241
|
-
/kiro:spec-tasks user-auth # AIで tasks.md 作成(全フェーズ)
|
|
242
|
-
npx @sk8metal/michi-cli phase:run user-auth tasks # 全フェーズのJIRA作成+バリデーション(必須)
|
|
243
|
-
|
|
244
|
-
# Phase 1: 環境構築(任意)
|
|
245
|
-
# テスト環境のセットアップ、開発環境の構築
|
|
246
|
-
|
|
247
|
-
# Phase 2: TDD実装
|
|
248
|
-
# 凡例
|
|
249
|
-
/kiro:spec-impl <feature> # TDD実装開始
|
|
250
|
-
|
|
251
|
-
# 具体例
|
|
252
|
-
/kiro:spec-impl user-auth # TDD実装開始
|
|
253
|
-
|
|
254
|
-
# Phase A: PR前自動テスト(任意)
|
|
255
|
-
# CI/CDで自動実行される単体テスト、Lint、ビルド
|
|
256
|
-
|
|
257
|
-
# Phase 3: 追加QA(任意)
|
|
258
|
-
# tasks.mdに従って統合テスト、E2Eテストを実施
|
|
259
|
-
|
|
260
|
-
# Phase B: リリース準備テスト(任意)
|
|
261
|
-
# 手動テスト、セキュリティテスト、パフォーマンステストを実施
|
|
262
|
-
|
|
263
|
-
# Phase 4-5: リリース準備・リリース
|
|
264
|
-
# tasks.mdのPhase 4-5に従ってリリース準備・本番リリース
|
|
49
|
+
# 既存プロジェクトに追加
|
|
50
|
+
michi setup-existing --claude-agent
|
|
265
51
|
```
|
|
266
52
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
**CLIツールの使用方法**:
|
|
270
|
-
|
|
271
|
-
- **npx実行(推奨)**: `npx @sk8metal/michi-cli <command>` - 常に最新版を使用
|
|
272
|
-
- **グローバルインストール**: `npm install -g @sk8metal/michi-cli` 後、`michi <command>` で実行
|
|
273
|
-
- **ローカル開発**: `npm run michi <command>` または `npx tsx src/cli.ts <command>`
|
|
274
|
-
|
|
275
|
-
### 2. バリデーション確認
|
|
53
|
+
### 基本的な使い方
|
|
276
54
|
|
|
277
55
|
```bash
|
|
278
|
-
#
|
|
279
|
-
|
|
56
|
+
# 1. 仕様を初期化
|
|
57
|
+
/kiro:spec-init "calculator-app: 四則演算を行う電卓アプリ"
|
|
280
58
|
|
|
281
|
-
#
|
|
282
|
-
|
|
283
|
-
npx @sk8metal/michi-cli validate:phase user-auth design # 設計チェック
|
|
284
|
-
npx @sk8metal/michi-cli validate:phase user-auth tasks # タスク分割チェック
|
|
285
|
-
```
|
|
59
|
+
# 2. 要件定義
|
|
60
|
+
/kiro:spec-requirements calculator-app
|
|
286
61
|
|
|
287
|
-
|
|
62
|
+
# 3. 設計(テスト計画統合版)
|
|
63
|
+
/michi:spec-design calculator-app
|
|
288
64
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
npx @sk8metal/michi-cli confluence:sync <feature> <doc-type>
|
|
292
|
-
npx @sk8metal/michi-cli jira:sync <feature>
|
|
293
|
-
npx @sk8metal/michi-cli workflow:run --feature <feature>
|
|
294
|
-
|
|
295
|
-
# 具体例
|
|
296
|
-
npx @sk8metal/michi-cli confluence:sync user-auth requirements # Confluenceに同期
|
|
297
|
-
npx @sk8metal/michi-cli jira:sync user-auth # JIRAタスク作成
|
|
298
|
-
npx @sk8metal/michi-cli preflight # プリフライトチェック
|
|
299
|
-
npx @sk8metal/michi-cli spec:list # 仕様書一覧
|
|
300
|
-
npx @sk8metal/michi-cli spec:archive user-auth # 完了した仕様書をアーカイブ
|
|
301
|
-
npx @sk8metal/michi-cli workflow:run --feature user-auth # ワークフロー実行
|
|
302
|
-
```
|
|
65
|
+
# 4. タスク分割(JIRA同期確認付き)
|
|
66
|
+
/michi:spec-tasks calculator-app
|
|
303
67
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
```bash
|
|
307
|
-
# AIコマンドで実装(JIRA連携は自動)
|
|
308
|
-
# /kiro:spec-impl user-auth
|
|
309
|
-
# ↑ spec.json から JIRA 情報を自動取得
|
|
310
|
-
# ↑ Epic + 最初の Story を「進行中」に移動
|
|
311
|
-
# ↑ TDD 実装
|
|
312
|
-
# ↑ PR 作成
|
|
313
|
-
# ↑ Epic + 最初の Story を「レビュー待ち」に移動
|
|
314
|
-
# ↑ PR リンクを JIRA にコメント
|
|
315
|
-
|
|
316
|
-
# 個別のJIRA操作(必要な場合のみ)
|
|
317
|
-
npx @sk8metal/michi-cli jira:transition <issueKey> <status>
|
|
318
|
-
npx @sk8metal/michi-cli jira:comment <issueKey> <comment>
|
|
319
|
-
|
|
320
|
-
# 具体例
|
|
321
|
-
npx @sk8metal/michi-cli jira:transition MICHI-123 "In Progress"
|
|
322
|
-
npx @sk8metal/michi-cli jira:comment MICHI-123 "PRを作成しました: https://github.com/..."
|
|
68
|
+
# 5. TDD実装
|
|
69
|
+
/michi:spec-impl calculator-app
|
|
323
70
|
```
|
|
324
71
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
```text
|
|
328
|
-
michi/
|
|
329
|
-
├── .cursor/ # Cursor IDE設定
|
|
330
|
-
├── .kiro/ # AI-DLC設定
|
|
331
|
-
│ ├── project.json # プロジェクトメタデータ
|
|
332
|
-
│ ├── settings/ # テンプレート
|
|
333
|
-
│ ├── specs/ # 機能仕様書(GitHub SSoT)
|
|
334
|
-
│ └── steering/ # AIガイダンス
|
|
335
|
-
├── templates/ # cc-sdd準拠のマルチ環境テンプレート(Issue #35)
|
|
336
|
-
│ ├── cursor/ # Cursor IDE用テンプレート
|
|
337
|
-
│ │ ├── rules/ # ルールファイル(.mdc)
|
|
338
|
-
│ │ └── commands/
|
|
339
|
-
│ │ └── michi/ # Michi専用コマンド
|
|
340
|
-
│ ├── claude/ # Claude Code用テンプレート(プレースホルダー含む)
|
|
341
|
-
│ │ ├── rules/ # ルールファイル(.md、統合版)
|
|
342
|
-
│ │ └── commands/
|
|
343
|
-
│ │ └── michi/ # Michi専用コマンド(言語指示含む)
|
|
344
|
-
│ └── claude-agent/ # Claude Agentテンプレート
|
|
345
|
-
├── scripts/ # 自動化スクリプト
|
|
346
|
-
├── docs/ # ドキュメント
|
|
347
|
-
├── env.example # 環境変数テンプレート
|
|
348
|
-
├── mcp.json.example # MCP設定テンプレート
|
|
349
|
-
└── package.json # 依存関係
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
### テンプレートアーキテクチャ
|
|
353
|
-
|
|
354
|
-
Michiは**cc-sdd準拠の多環境対応**を目指しています:
|
|
355
|
-
|
|
356
|
-
#### 設計原則
|
|
357
|
-
|
|
358
|
-
1. **単一の英語テンプレート**: 言語別ファイルを作らない
|
|
359
|
-
2. **プレースホルダー使用**: `{{LANG_CODE}}`, `{{DEV_GUIDELINES}}` 等
|
|
360
|
-
3. **AI駆動の多言語生成**: 実行時にAIが指定言語で出力
|
|
361
|
-
4. **セットアップ時は置換しない**: テンプレートをそのままコピー、AIが実行時に解釈
|
|
362
|
-
|
|
363
|
-
#### プレースホルダー一覧
|
|
364
|
-
|
|
365
|
-
| プレースホルダー | 説明 | 例 |
|
|
366
|
-
| -------------------- | ---------------- | ---------------------------------------- |
|
|
367
|
-
| `{{LANG_CODE}}` | 言語コード | ja, en |
|
|
368
|
-
| `{{DEV_GUIDELINES}}` | 言語別AI指示 | "Think in English, generate in Japanese" |
|
|
369
|
-
| `{{KIRO_DIR}}` | 仕様書ルート | .kiro |
|
|
370
|
-
| `{{AGENT_DIR}}` | エージェント設定 | .claude |
|
|
371
|
-
| `{{PROJECT_ID}}` | プロジェクトID | michi |
|
|
372
|
-
| `{{FEATURE_NAME}}` | 機能名 | user-auth |
|
|
373
|
-
|
|
374
|
-
#### テンプレート例
|
|
375
|
-
|
|
376
|
-
```markdown
|
|
377
|
-
# Michi Core Principles
|
|
378
|
-
|
|
379
|
-
## Development Guidelines
|
|
380
|
-
|
|
381
|
-
{{DEV_GUIDELINES}}
|
|
382
|
-
|
|
383
|
-
## Language
|
|
384
|
-
|
|
385
|
-
All generated documents should be in: **{{LANG_CODE}}**
|
|
386
|
-
|
|
387
|
-
## Project Metadata
|
|
388
|
-
|
|
389
|
-
- Project ID: {{PROJECT_ID}}
|
|
390
|
-
- Kiro directory: {{KIRO_DIR}}
|
|
391
|
-
- Agent directory: {{AGENT_DIR}}
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
**利点:**
|
|
395
|
-
|
|
396
|
-
- ✅ 静的翻訳ファイル不要(メンテナンスコスト削減)
|
|
397
|
-
- ✅ cc-sddとの完全互換
|
|
398
|
-
- ✅ Cursor/Claude両環境で動作
|
|
399
|
-
- ✅ プロジェクト固有値の動的生成
|
|
400
|
-
|
|
401
|
-
### 設定ファイル
|
|
402
|
-
|
|
403
|
-
OSS公開に対応するため、以下のテンプレートファイルを用意しています:
|
|
404
|
-
|
|
405
|
-
- **`env.example`**: 環境変数の設定テンプレート
|
|
406
|
-
- Atlassian (Confluence/JIRA) 認証情報
|
|
407
|
-
- GitHub認証情報
|
|
408
|
-
- プロジェクト固有設定
|
|
409
|
-
- **ワークフロー承認ゲート設定**(オプション)
|
|
410
|
-
- **`mcp.json.example`**: MCP設定テンプレート
|
|
411
|
-
- Cursor/VS Code用のAtlassian MCP設定
|
|
412
|
-
|
|
413
|
-
- **`.michi/config.json`**: プロジェクト固有の設定ファイル(オプション)
|
|
414
|
-
- Confluenceページ作成粒度の設定
|
|
415
|
-
- JIRAストーリー作成粒度の設定
|
|
416
|
-
- ワークフロー設定
|
|
417
|
-
- 詳細は [設定値リファレンス](./docs/reference/config.md) を参照
|
|
418
|
-
- **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。
|
|
419
|
-
|
|
420
|
-
**初回セットアップ時:**
|
|
421
|
-
|
|
422
|
-
```bash
|
|
423
|
-
# 環境変数を設定
|
|
424
|
-
cp env.example .env
|
|
425
|
-
# .env を編集して実際の認証情報を入力
|
|
426
|
-
# 承認ゲートのロール名も必要に応じてカスタマイズ
|
|
427
|
-
|
|
428
|
-
# MCP設定を作成
|
|
429
|
-
cp mcp.json.example ~/.cursor/mcp.json
|
|
430
|
-
# ~/.cursor/mcp.json を編集して実際の認証情報を入力
|
|
431
|
-
|
|
432
|
-
# プロジェクト固有設定(オプション)
|
|
433
|
-
# .michi/config.json を作成して、Confluence/JIRAの動作をカスタマイズ
|
|
434
|
-
# 詳細は docs/reference/config.md を参照
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
**承認者の設定:**
|
|
438
|
-
ワークフロー実行時の承認者ロール名は、`.env`ファイルで設定できます:
|
|
439
|
-
|
|
440
|
-
```bash
|
|
441
|
-
# デフォルト値(英語)
|
|
442
|
-
APPROVAL_GATES_REQUIREMENTS=projectLeader,director
|
|
443
|
-
APPROVAL_GATES_DESIGN=architect,director
|
|
444
|
-
APPROVAL_GATES_RELEASE=serviceManager,director
|
|
445
|
-
|
|
446
|
-
# 日本語ロール名の例
|
|
447
|
-
APPROVAL_GATES_REQUIREMENTS=PL,部長
|
|
448
|
-
APPROVAL_GATES_DESIGN=アーキテクト,部長
|
|
449
|
-
APPROVAL_GATES_RELEASE=SM,部長
|
|
450
|
-
```
|
|
451
|
-
|
|
452
|
-
詳細は [セットアップガイド](./docs/getting-started/setup.md#3-3-ワークフロー承認ゲートの設定オプション) を参照してください。
|
|
453
|
-
|
|
454
|
-
## 他のリポジトリでプロジェクトを進める
|
|
455
|
-
|
|
456
|
-
### Multi-Repoプロジェクトの管理(NEW)
|
|
457
|
-
|
|
458
|
-
**新機能**: 複数のGitHubリポジトリを単一プロジェクトとして統合管理するMulti-Repo機能が追加されました。
|
|
459
|
-
|
|
460
|
-
**使用ケース**:
|
|
461
|
-
- マイクロサービスアーキテクチャで複数のサービスリポジトリを管理
|
|
462
|
-
- フロントエンド・バックエンド・インフラを別リポジトリで管理
|
|
463
|
-
- 複数リポジトリのCI/CD状態を一元管理
|
|
464
|
-
- 複数リポジトリの統合ドキュメントをConfluenceで管理
|
|
465
|
-
|
|
466
|
-
**AI支援による初期化・設計(推奨)**:
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
# 1. AIでプロジェクト初期化(プロジェクト説明から自動生成)
|
|
470
|
-
/michi-multi-repo:spec-init "マイクロサービスアーキテクチャでECサイトを構築" --jira MSV --confluence-space MSV
|
|
471
|
-
|
|
472
|
-
# 2. リポジトリ登録(CLIコマンド)
|
|
473
|
-
michi multi-repo:add-repo my-microservices --name frontend --url https://github.com/org/frontend --branch main
|
|
474
|
-
michi multi-repo:add-repo my-microservices --name backend --url https://github.com/org/backend --branch main
|
|
475
|
-
|
|
476
|
-
# 3. AIで要件定義書生成
|
|
477
|
-
/michi-multi-repo:spec-requirements my-microservices
|
|
478
|
-
|
|
479
|
-
# 4. AIで設計書生成(アーキテクチャ図含む)
|
|
480
|
-
/michi-multi-repo:spec-design my-microservices
|
|
481
|
-
|
|
482
|
-
# 5. Confluence同期
|
|
483
|
-
michi multi-repo:confluence-sync my-microservices
|
|
484
|
-
```
|
|
485
|
-
|
|
486
|
-
**従来のCLIコマンドでの初期化**:
|
|
487
|
-
|
|
488
|
-
```bash
|
|
489
|
-
# CLIコマンドのみで初期化
|
|
490
|
-
michi multi-repo:init my-microservices --jira MSV --confluence-space MSV
|
|
491
|
-
michi multi-repo:add-repo my-microservices --name frontend --url https://github.com/org/frontend --branch main
|
|
492
|
-
michi multi-repo:list # プロジェクト確認
|
|
493
|
-
```
|
|
494
|
-
|
|
495
|
-
詳細は [Multi-Repo管理ガイド](./docs/user-guide/guides/multi-repo-guide.md) を参照してください。
|
|
496
|
-
|
|
497
|
-
### 推奨ワークフロー(cc-sdd準拠)
|
|
498
|
-
|
|
499
|
-
既存リポジトリにMichiを導入する標準的な手順です:
|
|
500
|
-
|
|
501
|
-
```bash
|
|
502
|
-
# Step 1: cc-sddで標準ファイル生成
|
|
503
|
-
npx cc-sdd@latest --cursor --lang ja
|
|
504
|
-
|
|
505
|
-
# Step 2: Michi固有ファイルを追加
|
|
506
|
-
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
507
|
-
|
|
508
|
-
# Step 3: 環境設定
|
|
509
|
-
npm run setup:interactive
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
**ステップの説明**:
|
|
513
|
-
|
|
514
|
-
1. **cc-sdd導入**: AI駆動開発ワークフローのコアフレームワークをインストール
|
|
515
|
-
2. **Michi固有ファイル追加**: Confluence/JIRA連携、マルチプロジェクト管理などのMichi専用機能を追加
|
|
516
|
-
3. **環境設定**: 認証情報とプロジェクトメタデータを対話的に設定
|
|
517
|
-
|
|
518
|
-
### IDE別セットアップ例
|
|
519
|
-
|
|
520
|
-
#### Cursor IDE(推奨)
|
|
521
|
-
|
|
522
|
-
```bash
|
|
523
|
-
# Step 1: cc-sdd導入
|
|
524
|
-
npx cc-sdd@latest --cursor --lang ja
|
|
525
|
-
|
|
526
|
-
# Step 2: Michi固有ファイル追加
|
|
527
|
-
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
528
|
-
# または npm run michi:setup:cursor
|
|
529
|
-
|
|
530
|
-
# Step 3: 環境設定
|
|
531
|
-
npm run setup:interactive
|
|
532
|
-
```
|
|
533
|
-
|
|
534
|
-
#### Claude Code
|
|
535
|
-
|
|
536
|
-
```bash
|
|
537
|
-
# Step 1: cc-sdd導入
|
|
538
|
-
npx cc-sdd@latest --claude --lang ja
|
|
539
|
-
|
|
540
|
-
# Step 2: Michi固有ファイル追加
|
|
541
|
-
npx @sk8metal/michi-cli setup-existing --claude --lang ja
|
|
542
|
-
# または npm run michi:setup:claude
|
|
543
|
-
|
|
544
|
-
# Step 3: 環境設定
|
|
545
|
-
npm run setup:interactive
|
|
546
|
-
```
|
|
547
|
-
|
|
548
|
-
#### Gemini CLI
|
|
549
|
-
|
|
550
|
-
```bash
|
|
551
|
-
# Step 1: cc-sdd導入(準備中 - 現在はスキップ可能)
|
|
552
|
-
# npx cc-sdd@latest --gemini --lang ja
|
|
553
|
-
|
|
554
|
-
# Step 2: Michi固有ファイル追加
|
|
555
|
-
npx @sk8metal/michi-cli setup-existing --gemini --lang ja
|
|
556
|
-
|
|
557
|
-
# Step 3: 環境設定
|
|
558
|
-
npm run setup:interactive
|
|
559
|
-
```
|
|
560
|
-
|
|
561
|
-
**Gemini CLI特有の機能**:
|
|
562
|
-
|
|
563
|
-
- `.gemini/GEMINI.md` - プロジェクトコンテキスト(階層的ロード対応)
|
|
564
|
-
- `.gemini/extensions/` - 拡張機能
|
|
565
|
-
|
|
566
|
-
#### Codex CLI
|
|
567
|
-
|
|
568
|
-
```bash
|
|
569
|
-
# Step 1: cc-sdd導入(必須)
|
|
570
|
-
npx cc-sdd@latest --codex --lang ja
|
|
571
|
-
|
|
572
|
-
# Step 2: Michi拡張をインストール
|
|
573
|
-
npx @sk8metal/michi-cli setup-existing --codex --lang ja
|
|
574
|
-
|
|
575
|
-
# Step 3: 環境設定
|
|
576
|
-
npm run setup:interactive
|
|
577
|
-
```
|
|
578
|
-
|
|
579
|
-
**Codex CLI + cc-sdd統合**:
|
|
580
|
-
|
|
581
|
-
- ✅ **完全対応**: cc-sddとの統合により、Michiワークフロー全機能をサポート
|
|
582
|
-
- ✅ **11個の /kiro:* コマンド**: cc-sddが提供(spec-init, requirements, design, tasks, impl など)
|
|
583
|
-
- ✅ **1個の /prompts:confluence-sync コマンド**: Michi独自(Confluence連携)
|
|
584
|
-
- ✅ **AGENTS.md**: プロジェクトコンテキスト(cc-sdd提供 + Michi拡張)
|
|
585
|
-
- ✅ **`.kiro/` ディレクトリ**: Spec-Driven Development構造
|
|
586
|
-
|
|
587
|
-
**詳細**: `templates/codex/rules/README.md` を参照
|
|
588
|
-
|
|
589
|
-
#### Cline (VSCode拡張)
|
|
590
|
-
|
|
591
|
-
```bash
|
|
592
|
-
# Step 1: VSCodeにCline拡張をインストール
|
|
593
|
-
# https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev
|
|
594
|
-
|
|
595
|
-
# Step 2: Michi固有ファイル追加
|
|
596
|
-
npx @sk8metal/michi-cli setup-existing --cline --lang ja
|
|
597
|
-
|
|
598
|
-
# Step 3: 環境設定
|
|
599
|
-
npm run setup:interactive
|
|
600
|
-
```
|
|
601
|
-
|
|
602
|
-
**Cline特有の機能**:
|
|
603
|
-
|
|
604
|
-
- `.clinerules/rules/` - プロジェクト固有のルール(Markdown形式)
|
|
605
|
-
- ルールのトグル機能(v3.13以降)- 各ルールファイルを個別に有効/無効化可能
|
|
606
|
-
|
|
607
|
-
#### Windsurf IDE
|
|
608
|
-
|
|
609
|
-
```bash
|
|
610
|
-
# Step 1: cc-sdd導入
|
|
611
|
-
npx cc-sdd@next --windsurf --lang ja
|
|
612
|
-
|
|
613
|
-
# Step 2: Michi固有ファイル追加(Cursor互換モード)
|
|
614
|
-
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
615
|
-
|
|
616
|
-
# Step 3: 環境設定
|
|
617
|
-
npm run setup:interactive
|
|
618
|
-
```
|
|
619
|
-
|
|
620
|
-
### 既存リポジトリ vs 新規リポジトリ
|
|
621
|
-
|
|
622
|
-
#### 既存リポジトリにMichiを追加(推奨)
|
|
623
|
-
|
|
624
|
-
既に稼働しているプロジェクトにMichiを追加する場合:
|
|
625
|
-
|
|
626
|
-
```bash
|
|
627
|
-
# 既存プロジェクトのディレクトリに移動
|
|
628
|
-
cd /path/to/existing-repo
|
|
629
|
-
|
|
630
|
-
# 推奨ワークフローを実行
|
|
631
|
-
npx cc-sdd@latest --cursor --lang ja
|
|
632
|
-
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
633
|
-
npm run setup:interactive
|
|
634
|
-
```
|
|
635
|
-
|
|
636
|
-
**自動的に追加されるもの**:
|
|
637
|
-
|
|
638
|
-
- 共通ルール(`.cursor/rules/`または`.claude/rules/`)
|
|
639
|
-
- Michi専用コマンド(`.cursor/commands/michi/`または`.claude/commands/michi/`)
|
|
640
|
-
- Steeringテンプレート(`.kiro/steering/`)
|
|
641
|
-
- Specテンプレート(`.kiro/settings/templates/`)
|
|
642
|
-
- プロジェクトメタデータ(`.kiro/project.json`)
|
|
643
|
-
- 環境変数テンプレート(`.env`)
|
|
644
|
-
|
|
645
|
-
#### 新規リポジトリを作成してMichiを導入
|
|
646
|
-
|
|
647
|
-
新しいプロジェクトをゼロから始める場合:
|
|
648
|
-
|
|
649
|
-
```bash
|
|
650
|
-
# Michiディレクトリから実行
|
|
651
|
-
cd /path/to/michi
|
|
652
|
-
npm run create-project -- \
|
|
653
|
-
--name "20240115-payment-api" \
|
|
654
|
-
--project-name "プロジェクトA" \
|
|
655
|
-
--jira-key "PRJA"
|
|
656
|
-
```
|
|
657
|
-
|
|
658
|
-
詳細: [新規リポジトリセットアップガイド](./docs/getting-started/new-repository-setup.md)
|
|
659
|
-
|
|
660
|
-
**どちらを選ぶべきか?**
|
|
661
|
-
|
|
662
|
-
- ✅ **既存リポジトリに追加**: 既に稼働中のプロジェクトがある場合
|
|
663
|
-
- ✅ **新規リポジトリ作成**: 新しいプロジェクトを始める場合
|
|
72
|
+
詳細は [クイックスタートガイド](docs/getting-started/quick-start.md) を参照してください。
|
|
664
73
|
|
|
665
74
|
## ドキュメント
|
|
666
75
|
|
|
76
|
+
完全なドキュメントは [docs/](docs/) を参照してください。
|
|
77
|
+
|
|
667
78
|
### はじめに
|
|
668
79
|
|
|
669
|
-
- [クイックスタート](
|
|
670
|
-
- [
|
|
671
|
-
- [
|
|
672
|
-
- **[ハンズオンガイド](./docs/hands-on/README.md)** - 実際に手を動かして学ぶ1時間のチュートリアル ⭐
|
|
80
|
+
- [クイックスタート](docs/getting-started/quick-start.md) - 5分で始めるMichi
|
|
81
|
+
- [インストール](docs/getting-started/installation.md) - インストール方法
|
|
82
|
+
- [環境設定](docs/getting-started/configuration.md) - 環境変数とワークフロー設定
|
|
673
83
|
|
|
674
|
-
###
|
|
84
|
+
### ガイド
|
|
675
85
|
|
|
676
|
-
- [
|
|
677
|
-
- [
|
|
678
|
-
- [
|
|
679
|
-
- [
|
|
680
|
-
- [多言語サポートガイド](./docs/guides/internationalization.md) - AI駆動多言語対応(12言語サポート) ⭐
|
|
86
|
+
- [ワークフロー](docs/guides/workflow.md) - 開発フロー全体の説明
|
|
87
|
+
- [Atlassian連携](docs/guides/atlassian-integration.md) - JIRA/Confluence連携
|
|
88
|
+
- [Multi-Repo管理](docs/guides/multi-repo.md) - マイクロサービス開発
|
|
89
|
+
- [Claude Code](docs/guides/claude-code.md) - Claude Code統合
|
|
681
90
|
|
|
682
91
|
### リファレンス
|
|
683
92
|
|
|
684
|
-
- [
|
|
685
|
-
- [
|
|
686
|
-
|
|
687
|
-
### コントリビューター向け
|
|
688
|
-
|
|
689
|
-
- [コントリビューションガイド](./CONTRIBUTING.md) - 貢献方法
|
|
690
|
-
- [開発環境セットアップ](./docs/contributing/development.md) - 開発者向けセットアップ
|
|
691
|
-
- [リリース手順](./docs/contributing/release.md) - バージョンアップ・NPM公開手順
|
|
692
|
-
- [テスト戦略](./docs/testing-strategy.md) - テストカバレッジ目標と段階的計画 ⭐
|
|
693
|
-
|
|
694
|
-
すべてのドキュメントは [docs/README.md](./docs/README.md) から参照できます。
|
|
695
|
-
|
|
696
|
-
## CI/CD
|
|
697
|
-
|
|
698
|
-
このプロジェクトでは、GitHub Actionsを使用してCI/CDパイプラインを構築しています。
|
|
699
|
-
|
|
700
|
-
### 自動実行されるチェック
|
|
93
|
+
- [CLIコマンド](docs/reference/cli.md) - すべてのmichiコマンド
|
|
94
|
+
- [AIコマンド](docs/reference/ai-commands.md) - /kiro:*, /michi:*コマンド
|
|
95
|
+
- [環境変数](docs/reference/environment-variables.md) - 環境変数一覧
|
|
701
96
|
|
|
702
|
-
|
|
703
|
-
- **リント**: ESLintによるコード品質チェック
|
|
704
|
-
- **型チェック**: TypeScriptの型チェック
|
|
705
|
-
- **セキュリティスキャン**: 週1回の依存関係脆弱性スキャン
|
|
706
|
-
- **カバレッジレポート**: テストカバレッジの自動生成・アップロード
|
|
97
|
+
### トラブルシューティング
|
|
707
98
|
|
|
708
|
-
|
|
99
|
+
- [トラブルシューティング](docs/troubleshooting.md) - よくある問題と解決策
|
|
709
100
|
|
|
710
|
-
|
|
711
|
-
- **Dependabot**: 依存関係の自動更新プルリクエスト
|
|
101
|
+
## ワークフロー構造
|
|
712
102
|
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
### NPM_TOKEN設定
|
|
103
|
+
Michiは以下のフェーズで構成されています:
|
|
716
104
|
|
|
717
|
-
|
|
105
|
+
### cc-sdd標準フェーズ
|
|
718
106
|
|
|
719
|
-
|
|
107
|
+
- **Phase 0.0-0.2**: 仕様化(初期化、要件定義、設計)
|
|
108
|
+
- **Phase 0.5**: タスク分割
|
|
109
|
+
- **Phase 2**: TDD実装
|
|
720
110
|
|
|
721
|
-
|
|
111
|
+
### Michi拡張フェーズ
|
|
722
112
|
|
|
723
|
-
|
|
724
|
-
|
|
113
|
+
- **Phase 0.3-0.4**: テスト計画(テストタイプ選択、テスト仕様書作成)
|
|
114
|
+
- **Phase 0.6-0.7**: 外部ツール連携(JIRA、Confluence)
|
|
115
|
+
- **Phase 1**: 環境構築・基盤整備
|
|
116
|
+
- **Phase A**: PR前自動テスト(単体テスト、Lint、ビルド)
|
|
117
|
+
- **Phase 3**: 追加品質保証(PRマージ後)
|
|
118
|
+
- **Phase B**: リリース準備テスト(統合、E2E、パフォーマンス、セキュリティ)
|
|
119
|
+
- **Phase 4-5**: リリース準備と実行
|
|
725
120
|
|
|
726
|
-
|
|
121
|
+
詳細は [ワークフローガイド](docs/guides/workflow.md) を参照してください。
|
|
727
122
|
|
|
728
123
|
## 技術スタック
|
|
729
124
|
|
|
730
|
-
|
|
731
|
-
- **バージョン管理**: Git([Jujutsu (jj)](https://github.com/martinvonz/jj) も使用可能)
|
|
732
|
-
- **統合**: [Atlassian MCP](https://www.atlassian.com/ja/platform/remote-mcp-server) (Confluence/JIRA)
|
|
733
|
-
- **言語**: [TypeScript](https://www.typescriptlang.org/)
|
|
734
|
-
- **ランタイム**: [Node.js](https://nodejs.org/) 20.x
|
|
735
|
-
- **テスト**: [vitest](https://vitest.dev/)
|
|
736
|
-
- **HTTP**: [axios](https://github.com/axios/axios), [@octokit/rest](https://github.com/octokit/rest.js)
|
|
737
|
-
|
|
738
|
-
## ライセンス
|
|
739
|
-
|
|
740
|
-
MIT License
|
|
741
|
-
|
|
742
|
-
Copyright (c) 2025 sk8metalme
|
|
743
|
-
|
|
744
|
-
詳細は [LICENSE](./LICENSE) ファイルを参照してください。
|
|
745
|
-
|
|
746
|
-
## 謝辞
|
|
747
|
-
|
|
748
|
-
このプロジェクトは以下のOSSプロジェクト・ツールに支えられています:
|
|
749
|
-
|
|
750
|
-
### コアフレームワーク・ツール
|
|
751
|
-
|
|
752
|
-
- **[cc-sdd](https://github.com/gotalab/cc-sdd)** - AIコーディングエージェントを仕様駆動開発に変換するコアフレームワーク(MIT License)
|
|
753
|
-
- **[Atlassian MCP Server](https://www.atlassian.com/ja/platform/remote-mcp-server)** - Confluence/JIRA統合
|
|
754
|
-
- **[GitHub CLI](https://github.com/cli/cli)** - GitHubコマンドラインツール(MIT License)
|
|
755
|
-
- **[Node.js](https://nodejs.org/)** - JavaScript ランタイム(MIT License)
|
|
756
|
-
- **[TypeScript](https://www.typescriptlang.org/)** - 型安全なJavaScript(Apache 2.0 License)
|
|
757
|
-
- **[Jujutsu (jj)](https://github.com/martinvonz/jj)** - Gitの代替として使用可能(Apache 2.0 License)
|
|
758
|
-
|
|
759
|
-
### IDE・エディタ
|
|
760
|
-
|
|
761
|
-
- **[Cursor IDE](https://cursor.sh/)** - AI統合開発環境
|
|
762
|
-
- **[Kiro IDE](https://kiro.dev/)** - AI駆動開発プラットフォーム
|
|
763
|
-
|
|
764
|
-
### 主要npmパッケージ
|
|
765
|
-
|
|
766
|
-
- **[@octokit/rest](https://github.com/octokit/rest.js)** - GitHub REST API クライアント(MIT License)
|
|
767
|
-
- **[axios](https://github.com/axios/axios)** - HTTPクライアント(MIT License)
|
|
768
|
-
- **[commander](https://github.com/tj/commander.js)** - CLIフレームワーク(MIT License)
|
|
769
|
-
- **[markdown-it](https://github.com/markdown-it/markdown-it)** - Markdownパーサー(MIT License)
|
|
770
|
-
- **[turndown](https://github.com/mixmark-io/turndown)** - HTML→Markdown変換(MIT License)
|
|
771
|
-
- **[zod](https://github.com/colinhacks/zod)** - スキーマバリデーション(MIT License)
|
|
772
|
-
- **[vitest](https://vitest.dev/)** - テストフレームワーク(MIT License)
|
|
773
|
-
|
|
774
|
-
その他、多くのOSSパッケージに支えられています。詳細は [package.json](./package.json) を参照してください。
|
|
775
|
-
|
|
776
|
-
## 凡例の記号説明
|
|
777
|
-
|
|
778
|
-
ドキュメント内で使用している記号の意味:
|
|
779
|
-
|
|
780
|
-
| 記号 | 説明 | 例 |
|
|
781
|
-
| ---------------- | -------------------- | -------------------------------- |
|
|
782
|
-
| `<feature>` | 機能名 | user-auth, health-check-endpoint |
|
|
783
|
-
| `<project-id>` | プロジェクトID | michi, 20240115-payment-api |
|
|
784
|
-
| `<project-name>` | プロジェクト名 | Michi, プロジェクトA |
|
|
785
|
-
| `<phase>` | フェーズ名 | requirements, design, tasks |
|
|
786
|
-
| `<tasks>` | タスクID | FE-1,BE-1, STORY-1 |
|
|
787
|
-
| `<doc-type>` | ドキュメント種類 | requirements, design, tasks |
|
|
788
|
-
| `<jira-key>` | JIRAプロジェクトキー | MICHI, PRJA |
|
|
789
|
-
|
|
790
|
-
### 凡例と具体例の読み方
|
|
791
|
-
|
|
792
|
-
ドキュメント内のコマンド例は「凡例」と「具体例」を併記しています:
|
|
793
|
-
|
|
794
|
-
**凡例**: 汎用的なパターン(記号を使用)
|
|
795
|
-
|
|
796
|
-
```bash
|
|
797
|
-
/kiro:spec-requirements <feature>
|
|
798
|
-
```
|
|
799
|
-
|
|
800
|
-
**具体例**: 実際の使用例
|
|
801
|
-
|
|
802
|
-
```bash
|
|
803
|
-
/kiro:spec-requirements user-auth
|
|
804
|
-
```
|
|
805
|
-
|
|
806
|
-
**注**: `user-auth` は説明用の架空の機能例です。
|
|
807
|
-
|
|
808
|
-
### 機能名(feature)の命名規則
|
|
125
|
+
### 対応言語・ツール
|
|
809
126
|
|
|
810
|
-
|
|
127
|
+
- **Node.js/TypeScript**: npm
|
|
128
|
+
- **Java**: Gradle(Mavenは非対応)
|
|
129
|
+
- **PHP**: Composer
|
|
811
130
|
|
|
812
|
-
|
|
131
|
+
### 対応AIツール
|
|
813
132
|
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
| ディレクトリ名 | `.kiro/specs/user-auth/` | ファイルシステム互換性 |
|
|
817
|
-
| GitHub URL | `.../specs/user-auth/requirements.md` | URLセーフ |
|
|
818
|
-
| Confluenceラベル | `user-auth` | ラベル検索・フィルタ |
|
|
819
|
-
| JIRA Epic検索 | `labels = "user-auth"` | JQLクエリ |
|
|
820
|
-
| ブランチ名 | `michi/feature/user-auth` | Git命名規則 |
|
|
133
|
+
- **Claude Code** - AI駆動開発ツール(推奨)
|
|
134
|
+
- **Claude Code Subagents** - カスタムサブエージェント統合
|
|
821
135
|
|
|
822
|
-
|
|
136
|
+
### 外部連携
|
|
823
137
|
|
|
824
|
-
|
|
138
|
+
- **Atlassian**: Confluence(ドキュメント管理)、JIRA(タスク管理)
|
|
139
|
+
- **GitHub**: Issue、PR、Actions
|
|
825
140
|
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
- 2-4単語推奨
|
|
829
|
-
- 英数字とハイフン(`-`)のみ使用
|
|
830
|
-
- スペース、アンダースコア、日本語は不可
|
|
831
|
-
- 先頭・末尾のハイフン不可
|
|
832
|
-
|
|
833
|
-
#### 変換例
|
|
834
|
-
|
|
835
|
-
| spec-init(日本語説明) | spec-requirements以降(feature名) |
|
|
836
|
-
| ---------------------------- | ---------------------------------- |
|
|
837
|
-
| ユーザー認証機能 | `user-auth` |
|
|
838
|
-
| OAuth 2.0を使った認証 | `oauth-auth` |
|
|
839
|
-
| 支払い処理機能 | `payment` |
|
|
840
|
-
| ヘルスチェックエンドポイント | `health-check-endpoint` |
|
|
841
|
-
| 商品検索API | `product-search-api` |
|
|
842
|
-
| 在庫管理システム | `inventory-management` |
|
|
843
|
-
|
|
844
|
-
#### 変換のコツ
|
|
845
|
-
|
|
846
|
-
1. **日本語→英語変換**: 機能の本質を表す英単語を選ぶ
|
|
847
|
-
2. **短縮**: 2-4単語に凝縮(長すぎる場合)
|
|
848
|
-
3. **一般的な単語**: チーム全員が理解できる英語
|
|
849
|
-
4. **一貫性**: 類似機能は統一された命名パターン
|
|
850
|
-
|
|
851
|
-
#### 良い例・悪い例
|
|
852
|
-
|
|
853
|
-
✅ **良い例**:
|
|
854
|
-
|
|
855
|
-
- `user-auth` - 短く明確
|
|
856
|
-
- `payment-processing` - 具体的
|
|
857
|
-
- `health-check` - 標準的な用語
|
|
858
|
-
|
|
859
|
-
❌ **悪い例**:
|
|
860
|
-
|
|
861
|
-
- `ユーザー認証` - 日本語(URL/ラベルに不適)
|
|
862
|
-
- `user_auth` - アンダースコア(kebab-caseではない)
|
|
863
|
-
- `UserAuth` - CamelCase(kebab-caseではない)
|
|
864
|
-
- `user auth` - スペース(ファイルシステム/Git不可)
|
|
865
|
-
- `-user-auth` - 先頭ハイフン(無効)
|
|
866
|
-
- `very-long-feature-name-for-user-authentication` - 長すぎる
|
|
867
|
-
|
|
868
|
-
## テスト
|
|
869
|
-
|
|
870
|
-
Michiプロジェクトは、統合テストによって品質を保証しています。
|
|
871
|
-
|
|
872
|
-
### テスト実行
|
|
873
|
-
|
|
874
|
-
```bash
|
|
875
|
-
# すべてのテスト実行
|
|
876
|
-
npm test
|
|
877
|
-
|
|
878
|
-
# 統合テストのみ実行
|
|
879
|
-
npm run test:integration:setup
|
|
880
|
-
|
|
881
|
-
# カバレッジ付き実行
|
|
882
|
-
npm run test:coverage:setup
|
|
883
|
-
|
|
884
|
-
# 監視モード
|
|
885
|
-
npm test -- --watch
|
|
886
|
-
|
|
887
|
-
# UIモード
|
|
888
|
-
npm run test:ui
|
|
889
|
-
```
|
|
890
|
-
|
|
891
|
-
### テストカバレッジ
|
|
892
|
-
|
|
893
|
-
- **目標**: 95%以上
|
|
894
|
-
- **現在のカバレッジ**: [](https://codecov.io/gh/sk8metalme/michi)
|
|
895
|
-
|
|
896
|
-
### テストドキュメント
|
|
897
|
-
|
|
898
|
-
詳細なテストガイドは [docs/testing/integration-tests.md](./docs/testing/integration-tests.md) を参照してください。
|
|
899
|
-
|
|
900
|
-
## 参考リンク
|
|
901
|
-
|
|
902
|
-
### AI開発フレームワーク
|
|
903
|
-
|
|
904
|
-
- [cc-sdd公式ドキュメント](https://github.com/gotalab/cc-sdd/blob/main/tools/cc-sdd/README_ja.md)
|
|
905
|
-
- [cc-sdd コマンドリファレンス](https://github.com/gotalab/cc-sdd/blob/main/docs/guides/command-reference.md)
|
|
906
|
-
- [cc-sdd カスタマイズガイド](https://github.com/gotalab/cc-sdd/blob/main/docs/guides/customization-guide.md)
|
|
907
|
-
- [Kiro IDE](https://kiro.dev/docs/)
|
|
908
|
-
|
|
909
|
-
### バージョン管理・Git
|
|
910
|
-
|
|
911
|
-
- [Jujutsu (jj) 公式サイト](https://martinvonz.github.io/jj/)
|
|
912
|
-
- [Jujutsu GitHub](https://github.com/martinvonz/jj)
|
|
913
|
-
- [Jujutsu チュートリアル](https://steveklabnik.github.io/jujutsu-tutorial/)
|
|
914
|
-
|
|
915
|
-
### Atlassian統合
|
|
141
|
+
## ライセンス
|
|
916
142
|
|
|
917
|
-
- [
|
|
918
|
-
- [Confluence REST API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/)
|
|
919
|
-
- [Jira REST API](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/)
|
|
143
|
+
MIT License - 詳細は [LICENSE](LICENSE) を参照してください。
|
|
920
144
|
|
|
921
|
-
|
|
145
|
+
## コントリビューション
|
|
922
146
|
|
|
923
|
-
|
|
924
|
-
- [VS Code](https://code.visualstudio.com/)
|
|
147
|
+
貢献を歓迎します!詳細は [CONTRIBUTING.md](CONTRIBUTING.md) を参照してください。
|
|
925
148
|
|
|
926
|
-
|
|
149
|
+
## サポート
|
|
927
150
|
|
|
928
|
-
-
|
|
929
|
-
- [
|
|
151
|
+
- **GitHub Issues**: [https://github.com/sk8metalme/michi/issues](https://github.com/sk8metalme/michi/issues)
|
|
152
|
+
- **ドキュメント**: [docs/](docs/)
|