@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.
Files changed (72) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +25 -25
  3. package/dist/scripts/config/config-schema.d.ts +109 -600
  4. package/dist/scripts/config/config-schema.d.ts.map +1 -1
  5. package/dist/scripts/config/config-schema.js.map +1 -1
  6. package/dist/scripts/config-interactive.d.ts +1 -1
  7. package/dist/scripts/config-interactive.d.ts.map +1 -1
  8. package/dist/scripts/config-interactive.js +7 -7
  9. package/dist/scripts/config-interactive.js.map +1 -1
  10. package/dist/scripts/confluence-sync.js +5 -5
  11. package/dist/scripts/confluence-sync.js.map +1 -1
  12. package/dist/scripts/create-project.d.ts +2 -2
  13. package/dist/scripts/create-project.js +2 -2
  14. package/dist/scripts/create-project.js.map +1 -1
  15. package/dist/scripts/jira-sync.js +8 -8
  16. package/dist/scripts/jira-sync.js.map +1 -1
  17. package/dist/scripts/markdown-to-confluence.js +1 -1
  18. package/dist/scripts/markdown-to-confluence.js.map +1 -1
  19. package/dist/scripts/multi-project-estimate.js +1 -1
  20. package/dist/scripts/phase-runner.js.map +1 -1
  21. package/dist/scripts/pre-flight-check.js +1 -1
  22. package/dist/scripts/setup-existing-project.js.map +1 -1
  23. package/dist/scripts/utils/__tests__/config-loader.test.d.ts +5 -0
  24. package/dist/scripts/utils/__tests__/config-loader.test.d.ts.map +1 -0
  25. package/dist/scripts/utils/__tests__/config-loader.test.js +201 -0
  26. package/dist/scripts/utils/__tests__/config-loader.test.js.map +1 -0
  27. package/dist/scripts/utils/__tests__/config-validator.test.js +29 -16
  28. package/dist/scripts/utils/__tests__/config-validator.test.js.map +1 -1
  29. package/dist/scripts/utils/config-loader.d.ts +4 -0
  30. package/dist/scripts/utils/config-loader.d.ts.map +1 -1
  31. package/dist/scripts/utils/config-loader.js +24 -2
  32. package/dist/scripts/utils/config-loader.js.map +1 -1
  33. package/dist/scripts/utils/config-validator.d.ts.map +1 -1
  34. package/dist/scripts/utils/config-validator.js +50 -51
  35. package/dist/scripts/utils/config-validator.js.map +1 -1
  36. package/dist/scripts/utils/confluence-hierarchy.js +7 -7
  37. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -1
  38. package/dist/scripts/validate-phase.js.map +1 -1
  39. package/dist/scripts/workflow-orchestrator.js.map +1 -1
  40. package/dist/src/cli.js +2 -2
  41. package/dist/src/cli.js.map +1 -1
  42. package/dist/vitest.config.d.ts.map +1 -1
  43. package/dist/vitest.config.js +8 -4
  44. package/dist/vitest.config.js.map +1 -1
  45. package/docs/config-reference.md +76 -197
  46. package/docs/customization-guide.md +61 -9
  47. package/docs/multi-project.md +157 -25
  48. package/docs/new-project-setup.md +36 -36
  49. package/docs/quick-reference.md +23 -20
  50. package/docs/release.md +365 -0
  51. package/docs/setup.md +5 -3
  52. package/env.example +3 -1
  53. package/package.json +15 -13
  54. package/scripts/config/config-schema.ts +5 -5
  55. package/scripts/config-interactive.ts +7 -6
  56. package/scripts/confluence-sync.ts +5 -5
  57. package/scripts/create-project.ts +21 -21
  58. package/scripts/jira-sync.ts +8 -8
  59. package/scripts/markdown-to-confluence.ts +1 -1
  60. package/scripts/multi-project-estimate.ts +1 -1
  61. package/scripts/phase-runner.ts +8 -8
  62. package/scripts/pre-flight-check.ts +1 -1
  63. package/scripts/setup-existing-project.ts +9 -9
  64. package/scripts/setup-existing.sh +1 -1
  65. package/scripts/utils/__tests__/config-loader.test.ts +254 -0
  66. package/scripts/utils/__tests__/config-validator.test.ts +32 -16
  67. package/scripts/utils/config-loader.ts +30 -2
  68. package/scripts/utils/config-validator.ts +51 -50
  69. package/scripts/utils/confluence-hierarchy.ts +51 -51
  70. package/scripts/validate-phase.ts +11 -11
  71. package/scripts/workflow-orchestrator.ts +27 -27
  72. 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は、企業の開発フロー全体(要件定義→設計→タスク分割→実装→テスト→リリース)をAIで自動化するプラットフォームです。
12
+ Michiは、開発フロー全体(要件定義→設計→タスク分割→実装→テスト→リリース)をAIで自動化するプラットフォームです。
13
13
 
14
- **Powered by [cc-sdd](https://github.com/gotalab/cc-sdd)** - AIコーディングエージェントを仕様駆動開発(Spec-Driven Development)に変換するワークフローフレームワーク
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が作成されず、PMや部長がレビューできません。
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
- - **`.kiro/config.json`**: プロジェクト固有の設定ファイル(オプション)
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
- # .kiro/config.json を作成して、Confluence/JIRAの動作をカスタマイズ
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=pm,director
248
+ APPROVAL_GATES_REQUIREMENTS=projectLeader,director
249
249
  APPROVAL_GATES_DESIGN=architect,director
250
- APPROVAL_GATES_RELEASE=sm,director
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 "customer-a-service-1" \
286
- --project-name "A社 サービス1" \
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) - `.kiro/config.json`の全設定値の説明
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
- - [CI/CD整備計画](./docs/cicd-plan.md) - CI/CDパイプラインの計画と実装状況
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, customer-a-service-1 |
393
- | `<project-name>` | プロジェクト名 | Michi, A サービス1 |
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` は説明用の架空の機能例です。実際のmichiプロジェクトには `health-check-endpoint` などの機能が存在します(`.kiro/specs/` 参照)。
413
+ **注**: `user-auth` は説明用の架空の機能例です。
414
414
 
415
415
  ### 機能名(feature)の命名規則
416
416
 
417
- #### なぜ英語のkebab-caseが必要か
417
+ #### なぜkebab-caseが必要か
418
418
 
419
419
  feature名は以下の場所で使用されるため、**英語・小文字・ハイフン区切り**が必須です:
420
420