@sk8metal/michi-cli 0.0.1
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/LICENSE +22 -0
- package/README.md +465 -0
- package/dist/scripts/config/config-schema.d.ts +707 -0
- package/dist/scripts/config/config-schema.d.ts.map +1 -0
- package/dist/scripts/config/config-schema.js +100 -0
- package/dist/scripts/config/config-schema.js.map +1 -0
- package/dist/scripts/config-interactive.d.ts +10 -0
- package/dist/scripts/config-interactive.d.ts.map +1 -0
- package/dist/scripts/config-interactive.js +357 -0
- package/dist/scripts/config-interactive.js.map +1 -0
- package/dist/scripts/confluence-sync.d.ts +54 -0
- package/dist/scripts/confluence-sync.d.ts.map +1 -0
- package/dist/scripts/confluence-sync.js +407 -0
- package/dist/scripts/confluence-sync.js.map +1 -0
- package/dist/scripts/create-project.d.ts +12 -0
- package/dist/scripts/create-project.d.ts.map +1 -0
- package/dist/scripts/create-project.js +244 -0
- package/dist/scripts/create-project.js.map +1 -0
- package/dist/scripts/jira-sync.d.ts +39 -0
- package/dist/scripts/jira-sync.d.ts.map +1 -0
- package/dist/scripts/jira-sync.js +549 -0
- package/dist/scripts/jira-sync.js.map +1 -0
- package/dist/scripts/list-projects.d.ts +7 -0
- package/dist/scripts/list-projects.d.ts.map +1 -0
- package/dist/scripts/list-projects.js +61 -0
- package/dist/scripts/list-projects.js.map +1 -0
- package/dist/scripts/markdown-to-confluence.d.ts +19 -0
- package/dist/scripts/markdown-to-confluence.d.ts.map +1 -0
- package/dist/scripts/markdown-to-confluence.js +121 -0
- package/dist/scripts/markdown-to-confluence.js.map +1 -0
- package/dist/scripts/multi-project-estimate.d.ts +27 -0
- package/dist/scripts/multi-project-estimate.d.ts.map +1 -0
- package/dist/scripts/multi-project-estimate.js +202 -0
- package/dist/scripts/multi-project-estimate.js.map +1 -0
- package/dist/scripts/phase-runner.d.ts +19 -0
- package/dist/scripts/phase-runner.d.ts.map +1 -0
- package/dist/scripts/phase-runner.js +260 -0
- package/dist/scripts/phase-runner.js.map +1 -0
- package/dist/scripts/pr-automation.d.ts +12 -0
- package/dist/scripts/pr-automation.d.ts.map +1 -0
- package/dist/scripts/pr-automation.js +45 -0
- package/dist/scripts/pr-automation.js.map +1 -0
- package/dist/scripts/pre-flight-check.d.ts +15 -0
- package/dist/scripts/pre-flight-check.d.ts.map +1 -0
- package/dist/scripts/pre-flight-check.js +244 -0
- package/dist/scripts/pre-flight-check.js.map +1 -0
- package/dist/scripts/resource-dashboard.d.ts +7 -0
- package/dist/scripts/resource-dashboard.d.ts.map +1 -0
- package/dist/scripts/resource-dashboard.js +100 -0
- package/dist/scripts/resource-dashboard.js.map +1 -0
- package/dist/scripts/setup-existing-project.d.ts +13 -0
- package/dist/scripts/setup-existing-project.d.ts.map +1 -0
- package/dist/scripts/setup-existing-project.js +334 -0
- package/dist/scripts/setup-existing-project.js.map +1 -0
- package/dist/scripts/utils/config-loader.d.ts +20 -0
- package/dist/scripts/utils/config-loader.d.ts.map +1 -0
- package/dist/scripts/utils/config-loader.js +291 -0
- package/dist/scripts/utils/config-loader.js.map +1 -0
- package/dist/scripts/utils/config-validator.d.ts +34 -0
- package/dist/scripts/utils/config-validator.d.ts.map +1 -0
- package/dist/scripts/utils/config-validator.js +286 -0
- package/dist/scripts/utils/config-validator.js.map +1 -0
- package/dist/scripts/utils/confluence-hierarchy.d.ts +47 -0
- package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -0
- package/dist/scripts/utils/confluence-hierarchy.js +516 -0
- package/dist/scripts/utils/confluence-hierarchy.js.map +1 -0
- package/dist/scripts/utils/feature-name-validator.d.ts +25 -0
- package/dist/scripts/utils/feature-name-validator.d.ts.map +1 -0
- package/dist/scripts/utils/feature-name-validator.js +113 -0
- package/dist/scripts/utils/feature-name-validator.js.map +1 -0
- package/dist/scripts/utils/project-meta.d.ts +23 -0
- package/dist/scripts/utils/project-meta.d.ts.map +1 -0
- package/dist/scripts/utils/project-meta.js +50 -0
- package/dist/scripts/utils/project-meta.js.map +1 -0
- package/dist/scripts/validate-phase.d.ts +17 -0
- package/dist/scripts/validate-phase.d.ts.map +1 -0
- package/dist/scripts/validate-phase.js +234 -0
- package/dist/scripts/validate-phase.js.map +1 -0
- package/dist/scripts/workflow-orchestrator.d.ts +35 -0
- package/dist/scripts/workflow-orchestrator.d.ts.map +1 -0
- package/dist/scripts/workflow-orchestrator.js +130 -0
- package/dist/scripts/workflow-orchestrator.js.map +1 -0
- package/dist/src/cli.d.ts +11 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +229 -0
- package/dist/src/cli.js.map +1 -0
- package/docs/config-reference.md +666 -0
- package/docs/customization-guide.md +432 -0
- package/docs/multi-project.md +233 -0
- package/docs/new-project-setup.md +576 -0
- package/docs/phase-automation.md +361 -0
- package/docs/quick-reference.md +291 -0
- package/docs/setup.md +404 -0
- package/docs/tasks-template.md +550 -0
- package/docs/testing.md +202 -0
- package/docs/workflow.md +342 -0
- package/env.example +44 -0
- package/mcp.json.example +14 -0
- package/package.json +97 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 sk8metalme
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
package/README.md
ADDED
|
@@ -0,0 +1,465 @@
|
|
|
1
|
+
# Michi (道)
|
|
2
|
+
**M**anaged **I**ntelligent **C**omprehensive **H**ub for **I**ntegration
|
|
3
|
+
|
|
4
|
+
AI駆動開発ワークフロー自動化プラットフォーム
|
|
5
|
+
|
|
6
|
+
## 概要
|
|
7
|
+
|
|
8
|
+
Michiは、企業の開発フロー全体(要件定義→設計→タスク分割→実装→テスト→リリース)をAIで自動化するプラットフォームです。
|
|
9
|
+
|
|
10
|
+
**Powered by [cc-sdd](https://github.com/gotalab/cc-sdd)** - AIコーディングエージェントを仕様駆動開発(Spec-Driven Development)に変換するワークフローフレームワーク
|
|
11
|
+
|
|
12
|
+
### 主な機能
|
|
13
|
+
|
|
14
|
+
- ✅ **AI駆動開発**: cc-sdd + Cursor/VS Code統合
|
|
15
|
+
- ✅ **GitHub SSoT**: GitHubを真実の源として管理
|
|
16
|
+
- ✅ **Confluence/JIRA連携**: 企画・部長の承認フロー
|
|
17
|
+
- ✅ **マルチプロジェクト対応**: 3-5プロジェクト同時進行
|
|
18
|
+
- ✅ **自動化スクリプト**: Markdown↔Confluence同期、JIRA連携、PR自動化
|
|
19
|
+
- ✅ **フェーズバリデーション**: 抜け漏れ防止の自動チェック
|
|
20
|
+
|
|
21
|
+
### アーキテクチャ
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
GitHub (.kiro/specs/) ← 真実の源
|
|
25
|
+
↓ 自動同期
|
|
26
|
+
Confluence ← 企画・部長の承認フロー
|
|
27
|
+
JIRA ← タスク管理・進捗追跡
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## クイックスタート
|
|
31
|
+
|
|
32
|
+
### 前提条件
|
|
33
|
+
|
|
34
|
+
- Node.js 20.x以上
|
|
35
|
+
- Git(または Jujutsu (jj) も使用可能)
|
|
36
|
+
- Cursor IDE または VS Code
|
|
37
|
+
- GitHub CLI (gh) - PR作成時に使用
|
|
38
|
+
- **cc-sdd**: AI駆動開発ワークフローのコアフレームワーク
|
|
39
|
+
|
|
40
|
+
### インストール
|
|
41
|
+
|
|
42
|
+
#### 方法1: NPMパッケージとしてインストール(推奨)
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# グローバルインストール
|
|
46
|
+
npm install -g @sk8metalme/michi-cli
|
|
47
|
+
|
|
48
|
+
# または、プロジェクトにローカルインストール
|
|
49
|
+
npm install --save-dev @sk8metalme/michi-cli
|
|
50
|
+
|
|
51
|
+
# 使用方法
|
|
52
|
+
npx @sk8metalme/michi-cli --help
|
|
53
|
+
# または、グローバルインストール後
|
|
54
|
+
michi --help
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
#### 方法2: リポジトリからクローン(開発用)
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# リポジトリのクローン
|
|
61
|
+
git clone https://github.com/sk8metalme/michi
|
|
62
|
+
cd michi
|
|
63
|
+
|
|
64
|
+
# Jujutsu (jj) を使う場合
|
|
65
|
+
# jj git clone https://github.com/sk8metalme/michi
|
|
66
|
+
# cd michi
|
|
67
|
+
|
|
68
|
+
# cc-sddのインストール(AI駆動開発ワークフローのコア)
|
|
69
|
+
npx cc-sdd@latest --lang ja --cursor
|
|
70
|
+
# または Claude Code の場合: npx cc-sdd@latest --lang ja --claude
|
|
71
|
+
|
|
72
|
+
# 依存関係のインストール
|
|
73
|
+
npm install
|
|
74
|
+
|
|
75
|
+
# 環境変数の設定
|
|
76
|
+
cp env.example .env
|
|
77
|
+
# .env ファイルを編集して認証情報を設定
|
|
78
|
+
#
|
|
79
|
+
# 【重要】JIRA Issue Type IDの設定
|
|
80
|
+
# JIRA_ISSUE_TYPE_STORY と JIRA_ISSUE_TYPE_SUBTASK は必須です。
|
|
81
|
+
# これらの値はJIRAインスタンス固有のため、各デプロイメントで設定が必要です。
|
|
82
|
+
#
|
|
83
|
+
# 確認方法:
|
|
84
|
+
# 1. JIRA管理画面: Settings > Issues > Issue types で確認
|
|
85
|
+
# 2. REST API: GET https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
86
|
+
# レスポンスから "Story" と "Subtask" の "id" フィールドを取得
|
|
87
|
+
|
|
88
|
+
# MCP設定(Cursor用)
|
|
89
|
+
# mcp.json.example を参考に ~/.cursor/mcp.json を作成
|
|
90
|
+
# (詳細はdocs/setup.md参照)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
詳細なセットアップ手順は [docs/setup.md](./docs/setup.md) を参照してください。
|
|
94
|
+
|
|
95
|
+
## 使い方
|
|
96
|
+
|
|
97
|
+
> **凡例について**: `<feature>` などの記号の意味は [凡例の記号説明](#凡例の記号説明) を参照してください。
|
|
98
|
+
|
|
99
|
+
### 1. 新機能の開発(推奨フロー)
|
|
100
|
+
|
|
101
|
+
**AIコマンド + CLIツール実行** で抜け漏れを防止:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# Phase 0: 初期化
|
|
105
|
+
# 凡例
|
|
106
|
+
/kiro:spec-init <機能説明>
|
|
107
|
+
|
|
108
|
+
# 具体例
|
|
109
|
+
/kiro:spec-init ユーザー認証機能
|
|
110
|
+
|
|
111
|
+
# Phase 1: 要件定義
|
|
112
|
+
# 凡例
|
|
113
|
+
/kiro:spec-requirements <feature> # AIで requirements.md 作成
|
|
114
|
+
npx @sk8metalme/michi-cli phase:run <feature> requirements # Confluence作成+バリデーション(必須)
|
|
115
|
+
|
|
116
|
+
# 具体例
|
|
117
|
+
/kiro:spec-requirements user-auth # AIで requirements.md 作成
|
|
118
|
+
npx @sk8metalme/michi-cli phase:run user-auth requirements # Confluence作成+バリデーション(必須)
|
|
119
|
+
|
|
120
|
+
# Phase 2: 設計
|
|
121
|
+
# 凡例
|
|
122
|
+
/kiro:spec-design <feature> # AIで design.md 作成
|
|
123
|
+
npx @sk8metalme/michi-cli phase:run <feature> design # Confluence作成+バリデーション(必須)
|
|
124
|
+
|
|
125
|
+
# 具体例
|
|
126
|
+
/kiro:spec-design user-auth # AIで design.md 作成
|
|
127
|
+
npx @sk8metalme/michi-cli phase:run user-auth design # Confluence作成+バリデーション(必須)
|
|
128
|
+
|
|
129
|
+
# Phase 3: タスク分割(6フェーズすべて)
|
|
130
|
+
# 凡例
|
|
131
|
+
/kiro:spec-tasks <feature> # AIで tasks.md 作成(要件定義~リリースまで)
|
|
132
|
+
npx @sk8metalme/michi-cli phase:run <feature> tasks # 全フェーズのJIRA作成+バリデーション(必須)
|
|
133
|
+
|
|
134
|
+
# 具体例
|
|
135
|
+
/kiro:spec-tasks user-auth # AIで tasks.md 作成(要件定義~リリースまで)
|
|
136
|
+
npx @sk8metalme/michi-cli phase:run user-auth tasks # 全フェーズのJIRA作成+バリデーション(必須)
|
|
137
|
+
|
|
138
|
+
# Phase 4: 実装
|
|
139
|
+
# 凡例
|
|
140
|
+
/kiro:spec-impl <feature> # TDD実装開始
|
|
141
|
+
|
|
142
|
+
# 具体例
|
|
143
|
+
/kiro:spec-impl user-auth # TDD実装開始
|
|
144
|
+
|
|
145
|
+
# Phase 5: 試験
|
|
146
|
+
# tasks.mdのPhase 3: 試験(Testing)に従ってテスト実施
|
|
147
|
+
|
|
148
|
+
# Phase 6: リリース準備・リリース
|
|
149
|
+
# tasks.mdのPhase 4-5に従ってリリース準備・本番リリース
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**重要**: 各フェーズで `npx @sk8metalme/michi-cli phase:run` を実行しないと、Confluence/JIRAが作成されず、PMや部長がレビューできません。
|
|
153
|
+
|
|
154
|
+
**CLIツールの使用方法**:
|
|
155
|
+
- **npx実行(推奨)**: `npx @sk8metalme/michi-cli <command>` - 常に最新版を使用
|
|
156
|
+
- **グローバルインストール**: `npm install -g @sk8metalme/michi-cli` 後、`michi <command>` で実行
|
|
157
|
+
- **ローカル開発**: `npm run michi <command>` または `tsx src/cli.ts <command>`
|
|
158
|
+
|
|
159
|
+
### 2. バリデーション確認
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
# 凡例
|
|
163
|
+
npx @sk8metalme/michi-cli validate:phase <feature> <phase>
|
|
164
|
+
|
|
165
|
+
# 具体例
|
|
166
|
+
npx @sk8metalme/michi-cli validate:phase user-auth requirements # 要件定義チェック
|
|
167
|
+
npx @sk8metalme/michi-cli validate:phase user-auth design # 設計チェック
|
|
168
|
+
npx @sk8metalme/michi-cli validate:phase user-auth tasks # タスク分割チェック
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
### 3. 個別実行
|
|
172
|
+
|
|
173
|
+
```bash
|
|
174
|
+
# 凡例
|
|
175
|
+
npx @sk8metalme/michi-cli confluence:sync <feature> <doc-type>
|
|
176
|
+
npx @sk8metalme/michi-cli jira:sync <feature>
|
|
177
|
+
npx @sk8metalme/michi-cli workflow:run --feature <feature>
|
|
178
|
+
|
|
179
|
+
# 具体例
|
|
180
|
+
npx @sk8metalme/michi-cli confluence:sync user-auth requirements # Confluenceに同期
|
|
181
|
+
npx @sk8metalme/michi-cli jira:sync user-auth # JIRAタスク作成
|
|
182
|
+
npx @sk8metalme/michi-cli preflight # プリフライトチェック
|
|
183
|
+
npx @sk8metalme/michi-cli project:list # プロジェクト一覧
|
|
184
|
+
npx @sk8metalme/michi-cli workflow:run --feature user-auth # ワークフロー実行
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
## プロジェクト構造
|
|
188
|
+
|
|
189
|
+
```text
|
|
190
|
+
michi/
|
|
191
|
+
├── .cursor/ # Cursor IDE設定
|
|
192
|
+
├── .kiro/ # AI-DLC設定
|
|
193
|
+
│ ├── project.json # プロジェクトメタデータ
|
|
194
|
+
│ ├── settings/ # テンプレート
|
|
195
|
+
│ ├── specs/ # 機能仕様書(GitHub SSoT)
|
|
196
|
+
│ └── steering/ # AIガイダンス
|
|
197
|
+
├── scripts/ # 自動化スクリプト
|
|
198
|
+
├── docs/ # ドキュメント
|
|
199
|
+
├── env.example # 環境変数テンプレート
|
|
200
|
+
├── mcp.json.example # MCP設定テンプレート
|
|
201
|
+
└── package.json # 依存関係
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### 設定ファイル
|
|
205
|
+
|
|
206
|
+
OSS公開に対応するため、以下のテンプレートファイルを用意しています:
|
|
207
|
+
|
|
208
|
+
- **`env.example`**: 環境変数の設定テンプレート
|
|
209
|
+
- Atlassian (Confluence/JIRA) 認証情報
|
|
210
|
+
- GitHub認証情報
|
|
211
|
+
- プロジェクト固有設定
|
|
212
|
+
- **ワークフロー承認ゲート設定**(オプション)
|
|
213
|
+
|
|
214
|
+
- **`mcp.json.example`**: MCP設定テンプレート
|
|
215
|
+
- Cursor/VS Code用のAtlassian MCP設定
|
|
216
|
+
|
|
217
|
+
- **`.kiro/config.json`**: プロジェクト固有の設定ファイル(オプション)
|
|
218
|
+
- Confluenceページ作成粒度の設定
|
|
219
|
+
- JIRAストーリー作成粒度の設定
|
|
220
|
+
- ワークフロー設定
|
|
221
|
+
- 詳細は [設定値リファレンス](./docs/config-reference.md) を参照
|
|
222
|
+
|
|
223
|
+
**初回セットアップ時:**
|
|
224
|
+
```bash
|
|
225
|
+
# 環境変数を設定
|
|
226
|
+
cp env.example .env
|
|
227
|
+
# .env を編集して実際の認証情報を入力
|
|
228
|
+
# 承認ゲートのロール名も必要に応じてカスタマイズ
|
|
229
|
+
|
|
230
|
+
# MCP設定を作成
|
|
231
|
+
cp mcp.json.example ~/.cursor/mcp.json
|
|
232
|
+
# ~/.cursor/mcp.json を編集して実際の認証情報を入力
|
|
233
|
+
|
|
234
|
+
# プロジェクト固有設定(オプション)
|
|
235
|
+
# .kiro/config.json を作成して、Confluence/JIRAの動作をカスタマイズ
|
|
236
|
+
# 詳細は docs/config-reference.md を参照
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**承認ゲートの設定:**
|
|
240
|
+
ワークフロー実行時の承認者ロール名は、`.env`ファイルで設定できます:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
# デフォルト値(英語)
|
|
244
|
+
APPROVAL_GATES_REQUIREMENTS=pm,director
|
|
245
|
+
APPROVAL_GATES_DESIGN=architect,director
|
|
246
|
+
APPROVAL_GATES_RELEASE=sm,director
|
|
247
|
+
|
|
248
|
+
# 日本語ロール名の例
|
|
249
|
+
APPROVAL_GATES_REQUIREMENTS=企画,部長
|
|
250
|
+
APPROVAL_GATES_DESIGN=アーキテクト,部長
|
|
251
|
+
APPROVAL_GATES_RELEASE=SM,部長
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
詳細は [セットアップガイド](./docs/setup.md#4-3-ワークフロー承認ゲートの設定オプション) を参照してください。
|
|
255
|
+
|
|
256
|
+
## 他のリポジトリでプロジェクトを進める
|
|
257
|
+
|
|
258
|
+
### 既存リポジトリにMichiワークフローを追加(最も簡単)
|
|
259
|
+
|
|
260
|
+
```bash
|
|
261
|
+
# 既存プロジェクトのディレクトリに移動
|
|
262
|
+
cd /path/to/existing-repo
|
|
263
|
+
|
|
264
|
+
# Michiのセットアップスクリプトを実行(対話式)
|
|
265
|
+
bash /path/to/michi/scripts/setup-existing.sh
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
対話式で以下を入力:
|
|
269
|
+
- プロジェクト名
|
|
270
|
+
- JIRAプロジェクトキー
|
|
271
|
+
- 顧客名
|
|
272
|
+
|
|
273
|
+
自動的にcc-sdd、ルール、スクリプトなどがセットアップされます。
|
|
274
|
+
|
|
275
|
+
### 新規リポジトリを作成してセットアップ
|
|
276
|
+
|
|
277
|
+
```bash
|
|
278
|
+
# Michiディレクトリから実行
|
|
279
|
+
cd /path/to/michi
|
|
280
|
+
npm run create-project -- \
|
|
281
|
+
--name "customer-a-service-1" \
|
|
282
|
+
--project-name "A社 サービス1" \
|
|
283
|
+
--customer "A社" \
|
|
284
|
+
--jira-key "PRJA"
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
詳細: [新規プロジェクトセットアップガイド](./docs/new-project-setup.md)
|
|
288
|
+
|
|
289
|
+
## ドキュメント
|
|
290
|
+
|
|
291
|
+
- [クイックリファレンス](./docs/quick-reference.md) - コマンド一覧、チートシート ⭐
|
|
292
|
+
- [フェーズ自動化ガイド](./docs/phase-automation.md) - Confluence/JIRA自動作成、抜け漏れ防止 ⭐
|
|
293
|
+
- [新規プロジェクトセットアップ](./docs/new-project-setup.md) - 他リポジトリでの開始方法 ⭐
|
|
294
|
+
- [カスタマイズガイド](./docs/customization-guide.md) - Confluence/JIRA階層構造のカスタマイズ ⭐
|
|
295
|
+
- [セットアップガイド](./docs/setup.md) - インストール・設定手順
|
|
296
|
+
- [設定値リファレンス](./docs/config-reference.md) - `.kiro/config.json`の全設定値の説明
|
|
297
|
+
- [ワークフローガイド](./docs/workflow.md) - AI開発フロー
|
|
298
|
+
- [マルチプロジェクト管理](./docs/multi-project.md) - 複数プロジェクト管理
|
|
299
|
+
- [テスト・検証](./docs/testing.md) - E2Eテスト、フィードバック
|
|
300
|
+
|
|
301
|
+
## 技術スタック
|
|
302
|
+
|
|
303
|
+
- **AI開発**: [cc-sdd](https://github.com/gotalab/cc-sdd), [Cursor IDE](https://cursor.sh/)
|
|
304
|
+
- **バージョン管理**: Git([Jujutsu (jj)](https://github.com/martinvonz/jj) も使用可能)
|
|
305
|
+
- **統合**: [Atlassian MCP](https://www.atlassian.com/ja/platform/remote-mcp-server) (Confluence/JIRA)
|
|
306
|
+
- **言語**: [TypeScript](https://www.typescriptlang.org/)
|
|
307
|
+
- **ランタイム**: [Node.js](https://nodejs.org/) 20.x
|
|
308
|
+
- **テスト**: [vitest](https://vitest.dev/)
|
|
309
|
+
- **HTTP**: [axios](https://github.com/axios/axios), [@octokit/rest](https://github.com/octokit/rest.js)
|
|
310
|
+
|
|
311
|
+
## ライセンス
|
|
312
|
+
|
|
313
|
+
MIT License
|
|
314
|
+
|
|
315
|
+
Copyright (c) 2025 sk8metalme
|
|
316
|
+
|
|
317
|
+
詳細は [LICENSE](./LICENSE) ファイルを参照してください。
|
|
318
|
+
|
|
319
|
+
## 謝辞
|
|
320
|
+
|
|
321
|
+
このプロジェクトは以下のOSSプロジェクト・ツールに支えられています:
|
|
322
|
+
|
|
323
|
+
### コアフレームワーク・ツール
|
|
324
|
+
|
|
325
|
+
- **[cc-sdd](https://github.com/gotalab/cc-sdd)** - AIコーディングエージェントを仕様駆動開発に変換するコアフレームワーク(MIT License)
|
|
326
|
+
- **[Atlassian MCP Server](https://www.atlassian.com/ja/platform/remote-mcp-server)** - Confluence/JIRA統合
|
|
327
|
+
- **[GitHub CLI](https://github.com/cli/cli)** - GitHubコマンドラインツール(MIT License)
|
|
328
|
+
- **[Node.js](https://nodejs.org/)** - JavaScript ランタイム(MIT License)
|
|
329
|
+
- **[TypeScript](https://www.typescriptlang.org/)** - 型安全なJavaScript(Apache 2.0 License)
|
|
330
|
+
- **[Jujutsu (jj)](https://github.com/martinvonz/jj)** - Gitの代替として使用可能(Apache 2.0 License)
|
|
331
|
+
|
|
332
|
+
### IDE・エディタ
|
|
333
|
+
|
|
334
|
+
- **[Cursor IDE](https://cursor.sh/)** - AI統合開発環境
|
|
335
|
+
- **[Kiro IDE](https://kiro.dev/)** - AI駆動開発プラットフォーム
|
|
336
|
+
|
|
337
|
+
### 主要npmパッケージ
|
|
338
|
+
|
|
339
|
+
- **[@octokit/rest](https://github.com/octokit/rest.js)** - GitHub REST API クライアント(MIT License)
|
|
340
|
+
- **[axios](https://github.com/axios/axios)** - HTTPクライアント(MIT License)
|
|
341
|
+
- **[commander](https://github.com/tj/commander.js)** - CLIフレームワーク(MIT License)
|
|
342
|
+
- **[markdown-it](https://github.com/markdown-it/markdown-it)** - Markdownパーサー(MIT License)
|
|
343
|
+
- **[turndown](https://github.com/mixmark-io/turndown)** - HTML→Markdown変換(MIT License)
|
|
344
|
+
- **[zod](https://github.com/colinhacks/zod)** - スキーマバリデーション(MIT License)
|
|
345
|
+
- **[vitest](https://vitest.dev/)** - テストフレームワーク(MIT License)
|
|
346
|
+
|
|
347
|
+
その他、多くのOSSパッケージに支えられています。詳細は [package.json](./package.json) を参照してください。
|
|
348
|
+
|
|
349
|
+
## 凡例の記号説明
|
|
350
|
+
|
|
351
|
+
ドキュメント内で使用している記号の意味:
|
|
352
|
+
|
|
353
|
+
| 記号 | 説明 | 例 |
|
|
354
|
+
|------|------|-----|
|
|
355
|
+
| `<feature>` | 機能名 | user-auth, health-check-endpoint |
|
|
356
|
+
| `<project-id>` | プロジェクトID | michi, customer-a-service-1 |
|
|
357
|
+
| `<project-name>` | プロジェクト名 | Michi, A社 サービス1 |
|
|
358
|
+
| `<phase>` | フェーズ名 | requirements, design, tasks |
|
|
359
|
+
| `<tasks>` | タスクID | FE-1,BE-1, STORY-1 |
|
|
360
|
+
| `<doc-type>` | ドキュメント種類 | requirements, design, tasks |
|
|
361
|
+
| `<jira-key>` | JIRAプロジェクトキー | MICHI, PRJA |
|
|
362
|
+
|
|
363
|
+
### 凡例と具体例の読み方
|
|
364
|
+
|
|
365
|
+
ドキュメント内のコマンド例は「凡例」と「具体例」を併記しています:
|
|
366
|
+
|
|
367
|
+
**凡例**: 汎用的なパターン(記号を使用)
|
|
368
|
+
```bash
|
|
369
|
+
/kiro:spec-requirements <feature>
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
**具体例**: 実際の使用例
|
|
373
|
+
```bash
|
|
374
|
+
/kiro:spec-requirements user-auth
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
**注**: `user-auth` は説明用の架空の機能例です。実際のmichiプロジェクトには `health-check-endpoint` などの機能が存在します(`.kiro/specs/` 参照)。
|
|
378
|
+
|
|
379
|
+
### 機能名(feature)の命名規則
|
|
380
|
+
|
|
381
|
+
#### なぜ英語のkebab-caseが必要か
|
|
382
|
+
|
|
383
|
+
feature名は以下の場所で使用されるため、**英語・小文字・ハイフン区切り**が必須です:
|
|
384
|
+
|
|
385
|
+
| 使用箇所 | 例 | 制約理由 |
|
|
386
|
+
|---------|-----|---------|
|
|
387
|
+
| ディレクトリ名 | `.kiro/specs/user-auth/` | ファイルシステム互換性 |
|
|
388
|
+
| GitHub URL | `.../specs/user-auth/requirements.md` | URLセーフ |
|
|
389
|
+
| Confluenceラベル | `user-auth` | ラベル検索・フィルタ |
|
|
390
|
+
| JIRA Epic検索 | `labels = "user-auth"` | JQLクエリ |
|
|
391
|
+
| ブランチ名 | `michi/feature/user-auth` | Git命名規則 |
|
|
392
|
+
|
|
393
|
+
#### 命名ルール
|
|
394
|
+
|
|
395
|
+
**形式**: 英語、kebab-case(ハイフン区切り)、小文字のみ
|
|
396
|
+
|
|
397
|
+
**ルール**:
|
|
398
|
+
- 2-4単語推奨
|
|
399
|
+
- 英数字とハイフン(`-`)のみ使用
|
|
400
|
+
- スペース、アンダースコア、日本語は不可
|
|
401
|
+
- 先頭・末尾のハイフン不可
|
|
402
|
+
|
|
403
|
+
#### 変換例
|
|
404
|
+
|
|
405
|
+
| spec-init(日本語説明) | spec-requirements以降(feature名) |
|
|
406
|
+
|----------------------|--------------------------------|
|
|
407
|
+
| ユーザー認証機能 | `user-auth` |
|
|
408
|
+
| OAuth 2.0を使った認証 | `oauth-auth` |
|
|
409
|
+
| 支払い処理機能 | `payment` |
|
|
410
|
+
| ヘルスチェックエンドポイント | `health-check-endpoint` |
|
|
411
|
+
| 商品検索API | `product-search-api` |
|
|
412
|
+
| 在庫管理システム | `inventory-management` |
|
|
413
|
+
|
|
414
|
+
#### 変換のコツ
|
|
415
|
+
|
|
416
|
+
1. **日本語→英語変換**: 機能の本質を表す英単語を選ぶ
|
|
417
|
+
2. **短縮**: 2-4単語に凝縮(長すぎる場合)
|
|
418
|
+
3. **一般的な単語**: チーム全員が理解できる英語
|
|
419
|
+
4. **一貫性**: 類似機能は統一された命名パターン
|
|
420
|
+
|
|
421
|
+
#### 良い例・悪い例
|
|
422
|
+
|
|
423
|
+
✅ **良い例**:
|
|
424
|
+
- `user-auth` - 短く明確
|
|
425
|
+
- `payment-processing` - 具体的
|
|
426
|
+
- `health-check` - 標準的な用語
|
|
427
|
+
|
|
428
|
+
❌ **悪い例**:
|
|
429
|
+
- `ユーザー認証` - 日本語(URL/ラベルに不適)
|
|
430
|
+
- `user_auth` - アンダースコア(kebab-caseではない)
|
|
431
|
+
- `UserAuth` - CamelCase(kebab-caseではない)
|
|
432
|
+
- `user auth` - スペース(ファイルシステム/Git不可)
|
|
433
|
+
- `-user-auth` - 先頭ハイフン(無効)
|
|
434
|
+
- `very-long-feature-name-for-user-authentication` - 長すぎる
|
|
435
|
+
|
|
436
|
+
## 参考リンク
|
|
437
|
+
|
|
438
|
+
### AI開発フレームワーク
|
|
439
|
+
|
|
440
|
+
- [cc-sdd公式ドキュメント](https://github.com/gotalab/cc-sdd/blob/main/tools/cc-sdd/README_ja.md)
|
|
441
|
+
- [cc-sdd コマンドリファレンス](https://github.com/gotalab/cc-sdd/blob/main/docs/guides/command-reference.md)
|
|
442
|
+
- [cc-sdd カスタマイズガイド](https://github.com/gotalab/cc-sdd/blob/main/docs/guides/customization-guide.md)
|
|
443
|
+
- [Kiro IDE](https://kiro.dev/docs/)
|
|
444
|
+
|
|
445
|
+
### バージョン管理・Git
|
|
446
|
+
|
|
447
|
+
- [Jujutsu (jj) 公式サイト](https://martinvonz.github.io/jj/)
|
|
448
|
+
- [Jujutsu GitHub](https://github.com/martinvonz/jj)
|
|
449
|
+
- [Jujutsu チュートリアル](https://steveklabnik.github.io/jujutsu-tutorial/)
|
|
450
|
+
|
|
451
|
+
### Atlassian統合
|
|
452
|
+
|
|
453
|
+
- [Atlassian MCP Server](https://www.atlassian.com/ja/platform/remote-mcp-server)
|
|
454
|
+
- [Confluence REST API](https://developer.atlassian.com/cloud/confluence/rest/v2/intro/)
|
|
455
|
+
- [Jira REST API](https://developer.atlassian.com/cloud/jira/platform/rest/v3/intro/)
|
|
456
|
+
|
|
457
|
+
### IDE・エディタ
|
|
458
|
+
|
|
459
|
+
- [Cursor IDE](https://cursor.sh/)
|
|
460
|
+
- [VS Code](https://code.visualstudio.com/)
|
|
461
|
+
|
|
462
|
+
### GitHub
|
|
463
|
+
|
|
464
|
+
- [GitHub CLI](https://cli.github.com/)
|
|
465
|
+
- [Octokit (GitHub REST API)](https://github.com/octokit/rest.js)
|