@sk8metal/michi-cli 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -0
- package/README.md +25 -25
- package/dist/scripts/config/config-schema.d.ts +109 -600
- package/dist/scripts/config/config-schema.d.ts.map +1 -1
- package/dist/scripts/config/config-schema.js.map +1 -1
- package/dist/scripts/config-interactive.d.ts +1 -1
- package/dist/scripts/config-interactive.d.ts.map +1 -1
- package/dist/scripts/config-interactive.js +7 -7
- package/dist/scripts/config-interactive.js.map +1 -1
- package/dist/scripts/confluence-sync.js +5 -5
- package/dist/scripts/confluence-sync.js.map +1 -1
- package/dist/scripts/create-project.d.ts +2 -2
- package/dist/scripts/create-project.js +2 -2
- package/dist/scripts/create-project.js.map +1 -1
- package/dist/scripts/jira-sync.js +8 -8
- package/dist/scripts/jira-sync.js.map +1 -1
- package/dist/scripts/markdown-to-confluence.js +1 -1
- package/dist/scripts/markdown-to-confluence.js.map +1 -1
- package/dist/scripts/multi-project-estimate.js +1 -1
- package/dist/scripts/phase-runner.js.map +1 -1
- package/dist/scripts/pre-flight-check.js +1 -1
- package/dist/scripts/setup-existing-project.js.map +1 -1
- package/dist/scripts/utils/__tests__/config-loader.test.d.ts +5 -0
- package/dist/scripts/utils/__tests__/config-loader.test.d.ts.map +1 -0
- package/dist/scripts/utils/__tests__/config-loader.test.js +201 -0
- package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -0
- package/dist/scripts/utils/__tests__/config-validator.test.js +29 -16
- package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
- package/dist/scripts/utils/config-loader.d.ts +4 -0
- package/dist/scripts/utils/config-loader.d.ts.map +1 -1
- package/dist/scripts/utils/config-loader.js +24 -2
- package/dist/scripts/utils/config-loader.js.map +1 -1
- package/dist/scripts/utils/config-validator.d.ts.map +1 -1
- package/dist/scripts/utils/config-validator.js +50 -51
- package/dist/scripts/utils/config-validator.js.map +1 -1
- package/dist/scripts/utils/confluence-hierarchy.js +7 -7
- package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
- package/dist/scripts/validate-phase.js.map +1 -1
- package/dist/scripts/workflow-orchestrator.js.map +1 -1
- package/dist/src/cli.js +2 -2
- package/dist/src/cli.js.map +1 -1
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +8 -4
- package/dist/vitest.config.js.map +1 -1
- package/docs/config-reference.md +76 -197
- package/docs/customization-guide.md +61 -9
- package/docs/multi-project.md +157 -25
- package/docs/new-project-setup.md +36 -36
- package/docs/quick-reference.md +23 -20
- package/docs/release.md +365 -0
- package/docs/setup.md +5 -3
- package/env.example +3 -1
- package/package.json +15 -13
- package/scripts/config/config-schema.ts +5 -5
- package/scripts/config-interactive.ts +7 -6
- package/scripts/confluence-sync.ts +5 -5
- package/scripts/create-project.ts +21 -21
- package/scripts/jira-sync.ts +8 -8
- package/scripts/markdown-to-confluence.ts +1 -1
- package/scripts/multi-project-estimate.ts +1 -1
- package/scripts/phase-runner.ts +8 -8
- package/scripts/pre-flight-check.ts +1 -1
- package/scripts/setup-existing-project.ts +9 -9
- package/scripts/setup-existing.sh +1 -1
- package/scripts/utils/__tests__/config-loader.test.ts +254 -0
- package/scripts/utils/__tests__/config-validator.test.ts +32 -16
- package/scripts/utils/config-loader.ts +30 -2
- package/scripts/utils/config-validator.ts +51 -50
- package/scripts/utils/confluence-hierarchy.ts +51 -51
- package/scripts/validate-phase.ts +11 -11
- package/scripts/workflow-orchestrator.ts +27 -27
- package/docs/testing.md +0 -202
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,44 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [0.0.5] - 2025-11-13
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- 設定ファイルパスを`.kiro/config.json`から`.michi/config.json`に変更(Michi専用設定として明確化)
|
|
12
|
+
- プロジェクト命名規則を`customer-{id}-{service}`から`{YYYYMMDD}-{PJ名}`形式に変更
|
|
13
|
+
- マルチプロジェクト構成を1リポジトリ内で複数プロジェクト管理に変更
|
|
14
|
+
- ドキュメント内の「A社」「B社」表記を「プロジェクトA」「プロジェクトB」に統一
|
|
15
|
+
- `config-reference.md`の設定値説明を表形式に変更(可読性向上)
|
|
16
|
+
- `env.example`のJIRA Issue Type ID例を現実的な値(10036, 10037)に更新
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
- `/kiro:project-switch`コマンドに対話式選択機能を追加(パラメータなし実行時)
|
|
20
|
+
- プロジェクト検出条件の明確化(`.kiro/project.json`の存在を必須条件として明記)
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- Zod v4対応の型エラーを修正(`config-loader.test.ts`の型アサーションを更新)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## [0.0.4] - 2025-11-13
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Vitest 4への移行(1.x → 4.x)
|
|
30
|
+
- ESLint 9への移行(8.x → 9.x、Flat Config対応)
|
|
31
|
+
- Zod 4への移行(3.x → 4.x)
|
|
32
|
+
|
|
33
|
+
### Dependencies
|
|
34
|
+
- Updated `vitest` from `^1.6.1` to `^4.0.8`
|
|
35
|
+
- Updated `@vitest/coverage-v8` from `^1.6.1` to `^4.0.8`
|
|
36
|
+
- Updated `eslint` from `^8.57.1` to `^9.39.1`
|
|
37
|
+
- Updated `@typescript-eslint/eslint-plugin` from `^6.21.0` to `^8.46.4`
|
|
38
|
+
- Updated `@typescript-eslint/parser` from `^6.21.0` to `^8.46.4`
|
|
39
|
+
- Updated `typescript-eslint` from `^6.21.0` to `^8.46.4`
|
|
40
|
+
- Updated `zod` from `^3.25.76` to `^4.1.12`
|
|
41
|
+
- Updated `@octokit/rest` from `^20.1.2` to `^22.0.1`
|
|
42
|
+
- Updated `googleapis` from `^126.0.1` to `^166.0.0`
|
|
43
|
+
- Updated `@types/node` from `^20.19.24` to `^24.10.1`
|
|
44
|
+
- Updated `@types/markdown-it` from `^13.0.9` to `^14.1.2`
|
|
45
|
+
|
|
8
46
|
## [0.0.3] - 2025-11-12
|
|
9
47
|
|
|
10
48
|
### Added
|
package/README.md
CHANGED
|
@@ -9,25 +9,24 @@ AI駆動開発ワークフロー自動化プラットフォーム
|
|
|
9
9
|
|
|
10
10
|
## 概要
|
|
11
11
|
|
|
12
|
-
Michi
|
|
12
|
+
Michiは、開発フロー全体(要件定義→設計→タスク分割→実装→テスト→リリース)をAIで自動化するプラットフォームです。
|
|
13
13
|
|
|
14
|
-
**Powered by [cc-sdd](https://github.com/gotalab/cc-sdd)**
|
|
14
|
+
**Powered by [cc-sdd](https://github.com/gotalab/cc-sdd)**
|
|
15
15
|
|
|
16
16
|
### 主な機能
|
|
17
|
-
|
|
18
17
|
- ✅ **AI駆動開発**: cc-sdd + Cursor/VS Code統合
|
|
19
|
-
- ✅ **GitHub SSoT**: GitHub
|
|
20
|
-
- ✅ **Confluence/JIRA連携**:
|
|
18
|
+
- ✅ **GitHub SSoT(Single Source Of True)**: GitHubを情報源として管理
|
|
19
|
+
- ✅ **Confluence/JIRA連携**: 承認者向けドキュメント、タスク管理
|
|
21
20
|
- ✅ **マルチプロジェクト対応**: 3-5プロジェクト同時進行
|
|
22
21
|
- ✅ **自動化スクリプト**: Markdown↔Confluence同期、JIRA連携、PR自動化
|
|
23
|
-
- ✅ **フェーズバリデーション**:
|
|
22
|
+
- ✅ **フェーズバリデーション**: フェーズ抜け漏れ防止の自動チェック
|
|
24
23
|
|
|
25
24
|
### アーキテクチャ
|
|
26
25
|
|
|
27
26
|
```text
|
|
28
|
-
GitHub (.kiro/specs/) ←
|
|
27
|
+
GitHub (.kiro/specs/) ← 情報源
|
|
29
28
|
↓ 自動同期
|
|
30
|
-
Confluence ←
|
|
29
|
+
Confluence ← ドキュメント管理
|
|
31
30
|
JIRA ← タスク管理・進捗追跡
|
|
32
31
|
```
|
|
33
32
|
|
|
@@ -153,12 +152,12 @@ npx @sk8metal/michi-cli phase:run user-auth tasks # 全フェーズ
|
|
|
153
152
|
# tasks.mdのPhase 4-5に従ってリリース準備・本番リリース
|
|
154
153
|
```
|
|
155
154
|
|
|
156
|
-
**重要**: 各フェーズで `npx @sk8metal/michi-cli phase:run` を実行しないと、Confluence/JIRA
|
|
155
|
+
**重要**: 各フェーズで `npx @sk8metal/michi-cli phase:run` を実行しないと、Confluence/JIRAが作成されず、承認者がレビューできません。
|
|
157
156
|
|
|
158
157
|
**CLIツールの使用方法**:
|
|
159
158
|
- **npx実行(推奨)**: `npx @sk8metal/michi-cli <command>` - 常に最新版を使用
|
|
160
159
|
- **グローバルインストール**: `npm install -g @sk8metal/michi-cli` 後、`michi <command>` で実行
|
|
161
|
-
- **ローカル開発**: `npm run michi <command>` または `tsx src/cli.ts <command>`
|
|
160
|
+
- **ローカル開発**: `npm run michi <command>` または `npx tsx src/cli.ts <command>`
|
|
162
161
|
|
|
163
162
|
### 2. バリデーション確認
|
|
164
163
|
|
|
@@ -218,11 +217,12 @@ OSS公開に対応するため、以下のテンプレートファイルを用
|
|
|
218
217
|
- **`mcp.json.example`**: MCP設定テンプレート
|
|
219
218
|
- Cursor/VS Code用のAtlassian MCP設定
|
|
220
219
|
|
|
221
|
-
- **`.
|
|
220
|
+
- **`.michi/config.json`**: プロジェクト固有の設定ファイル(オプション)
|
|
222
221
|
- Confluenceページ作成粒度の設定
|
|
223
222
|
- JIRAストーリー作成粒度の設定
|
|
224
223
|
- ワークフロー設定
|
|
225
224
|
- 詳細は [設定値リファレンス](./docs/config-reference.md) を参照
|
|
225
|
+
- **注意**: 以前は `.kiro/config.json` を使用していましたが、Michi専用の設定ファイルとして `.michi/config.json` に変更されました。
|
|
226
226
|
|
|
227
227
|
**初回セットアップ時:**
|
|
228
228
|
```bash
|
|
@@ -236,21 +236,21 @@ cp mcp.json.example ~/.cursor/mcp.json
|
|
|
236
236
|
# ~/.cursor/mcp.json を編集して実際の認証情報を入力
|
|
237
237
|
|
|
238
238
|
# プロジェクト固有設定(オプション)
|
|
239
|
-
# .
|
|
239
|
+
# .michi/config.json を作成して、Confluence/JIRAの動作をカスタマイズ
|
|
240
240
|
# 詳細は docs/config-reference.md を参照
|
|
241
241
|
```
|
|
242
242
|
|
|
243
|
-
|
|
243
|
+
**承認者の設定:**
|
|
244
244
|
ワークフロー実行時の承認者ロール名は、`.env`ファイルで設定できます:
|
|
245
245
|
|
|
246
246
|
```bash
|
|
247
247
|
# デフォルト値(英語)
|
|
248
|
-
APPROVAL_GATES_REQUIREMENTS=
|
|
248
|
+
APPROVAL_GATES_REQUIREMENTS=projectLeader,director
|
|
249
249
|
APPROVAL_GATES_DESIGN=architect,director
|
|
250
|
-
APPROVAL_GATES_RELEASE=
|
|
250
|
+
APPROVAL_GATES_RELEASE=serviceManager,director
|
|
251
251
|
|
|
252
252
|
# 日本語ロール名の例
|
|
253
|
-
APPROVAL_GATES_REQUIREMENTS
|
|
253
|
+
APPROVAL_GATES_REQUIREMENTS=PL,部長
|
|
254
254
|
APPROVAL_GATES_DESIGN=アーキテクト,部長
|
|
255
255
|
APPROVAL_GATES_RELEASE=SM,部長
|
|
256
256
|
```
|
|
@@ -282,9 +282,8 @@ bash /path/to/michi/scripts/setup-existing.sh
|
|
|
282
282
|
# Michiディレクトリから実行
|
|
283
283
|
cd /path/to/michi
|
|
284
284
|
npm run create-project -- \
|
|
285
|
-
--name "
|
|
286
|
-
--project-name "A
|
|
287
|
-
--customer "A社" \
|
|
285
|
+
--name "20240115-payment-api" \
|
|
286
|
+
--project-name "プロジェクトA" \
|
|
288
287
|
--jira-key "PRJA"
|
|
289
288
|
```
|
|
290
289
|
|
|
@@ -297,11 +296,12 @@ npm run create-project -- \
|
|
|
297
296
|
- [新規プロジェクトセットアップ](./docs/new-project-setup.md) - 他リポジトリでの開始方法 ⭐
|
|
298
297
|
- [カスタマイズガイド](./docs/customization-guide.md) - Confluence/JIRA階層構造のカスタマイズ ⭐
|
|
299
298
|
- [セットアップガイド](./docs/setup.md) - インストール・設定手順
|
|
300
|
-
- [設定値リファレンス](./docs/config-reference.md) - `.
|
|
299
|
+
- [設定値リファレンス](./docs/config-reference.md) - `.michi/config.json`の全設定値の説明
|
|
301
300
|
- [ワークフローガイド](./docs/workflow.md) - AI開発フロー
|
|
302
301
|
- [マルチプロジェクト管理](./docs/multi-project.md) - 複数プロジェクト管理
|
|
303
302
|
- [テスト・検証](./docs/testing.md) - E2Eテスト、フィードバック
|
|
304
|
-
- [
|
|
303
|
+
- [リリース手順](./docs/release.md) - バージョンアップ・NPM公開手順
|
|
304
|
+
|
|
305
305
|
|
|
306
306
|
## CI/CD
|
|
307
307
|
|
|
@@ -389,8 +389,8 @@ Copyright (c) 2025 sk8metalme
|
|
|
389
389
|
| 記号 | 説明 | 例 |
|
|
390
390
|
|------|------|-----|
|
|
391
391
|
| `<feature>` | 機能名 | user-auth, health-check-endpoint |
|
|
392
|
-
| `<project-id>` | プロジェクトID | michi,
|
|
393
|
-
| `<project-name>` | プロジェクト名 | Michi, A
|
|
392
|
+
| `<project-id>` | プロジェクトID | michi, 20240115-payment-api |
|
|
393
|
+
| `<project-name>` | プロジェクト名 | Michi, プロジェクトA |
|
|
394
394
|
| `<phase>` | フェーズ名 | requirements, design, tasks |
|
|
395
395
|
| `<tasks>` | タスクID | FE-1,BE-1, STORY-1 |
|
|
396
396
|
| `<doc-type>` | ドキュメント種類 | requirements, design, tasks |
|
|
@@ -410,11 +410,11 @@ Copyright (c) 2025 sk8metalme
|
|
|
410
410
|
/kiro:spec-requirements user-auth
|
|
411
411
|
```
|
|
412
412
|
|
|
413
|
-
**注**: `user-auth`
|
|
413
|
+
**注**: `user-auth` は説明用の架空の機能例です。
|
|
414
414
|
|
|
415
415
|
### 機能名(feature)の命名規則
|
|
416
416
|
|
|
417
|
-
####
|
|
417
|
+
#### なぜkebab-caseが必要か
|
|
418
418
|
|
|
419
419
|
feature名は以下の場所で使用されるため、**英語・小文字・ハイフン区切り**が必須です:
|
|
420
420
|
|