@sk8metal/michi-cli 0.8.5 → 0.8.7

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 CHANGED
@@ -7,6 +7,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Changed
11
+
12
+ - **Multi-Repo AIコマンド名変更**: `michi_multi_repo:*` → `michi-multi-repo:*`
13
+ - `/michi-multi-repo:spec-init`: プロジェクト初期化コマンド(旧: `/michi_multi_repo:spec-init`)
14
+ - `/michi-multi-repo:spec-requirements`: 要件定義書生成コマンド(旧: `/michi_multi_repo:spec-requirements`)
15
+ - `/michi-multi-repo:spec-design`: 設計書生成コマンド(旧: `/michi_multi_repo:spec-design`)
16
+ - **理由**: Claude Codeのスキル検出でアンダースコアが正しく処理されない問題に対応
17
+ - **`michi init` コマンドの配布先修正**
18
+ - `commandsDir` を `.claude/commands/kiro` から `.claude/commands` に変更
19
+ - これにより `kiro/`, `michi/`, `michi-multi-repo/` が正しい階層にコピーされるようになった
20
+ - **影響**: 既存の二重ネスト(`.claude/commands/kiro/kiro/`)問題を解決
21
+
22
+ ### Fixed
23
+
24
+ - **Multi-Repo AIコマンドがユーザープロジェクトにコピーされない問題を修正**
25
+ - `environments.ts` の設定により、`templates/claude/commands/` が `/kiro` サブディレクトリにコピーされていた
26
+ - 修正により、各コマンドディレクトリ(`kiro/`, `michi/`, `michi-multi-repo/`)が `.claude/commands/` 直下に正しく配置されるようになった
27
+ - **存在しない `michi config:init` コマンドの参照を修正**
28
+ - spec-init.md のエラーメッセージで参照されていた `michi config:init` を `michi init` に修正
29
+ - **注意**: `michi config:init` コマンドは実装されておらず、正しくは `michi init` を使用
30
+
31
+ ### Added
32
+
33
+ - **マイグレーションガイド**: v0.8.6 → v0.8.7 の移行手順を文書化(docs/user-guide/guides/migration-guide.md)
34
+
35
+ ## [0.8.6] - 2025-12-22
36
+
37
+ ### Fixed
38
+
39
+ - **Multi-Repo templates not copied to dist during build** (#118)
40
+ - Fixed `michi multi-repo:init` failing with "Multi-Repo template not found" error
41
+ - Added `copyDirectory()` function to `scripts/copy-static-assets.js` to recursively copy template directories
42
+ - `templates/multi-repo/` is now correctly copied to `dist/templates/multi-repo/` during build
43
+ - All Multi-Repo templates (requirements.md, architecture.md, sequence.md, etc.) are now properly included in npm package
44
+
10
45
  ## [0.8.5] - 2025-12-22
11
46
 
12
47
  ### Added
package/README.md CHANGED
@@ -4,6 +4,7 @@
4
4
 
5
5
  AI駆動開発ワークフロー自動化プラットフォーム
6
6
 
7
+ [![npm version](https://badge.fury.io/js/@sk8metal%2Fmichi-cli.svg?icon=si%3Anpm)](https://badge.fury.io/js/@sk8metal%2Fmichi-cli)
7
8
  [![CI](https://github.com/sk8metalme/michi/actions/workflows/ci.yml/badge.svg)](https://github.com/sk8metalme/michi/actions/workflows/ci.yml)
8
9
  [![Test Setup](https://github.com/sk8metalme/michi/actions/workflows/test-setup.yml/badge.svg)](https://github.com/sk8metalme/michi/actions/workflows/test-setup.yml)
9
10
  [![Security](https://github.com/sk8metalme/michi/actions/workflows/security.yml/badge.svg)](https://github.com/sk8metalme/michi/actions/workflows/security.yml)
@@ -466,17 +467,17 @@ APPROVAL_GATES_RELEASE=SM,部長
466
467
 
467
468
  ```bash
468
469
  # 1. AIでプロジェクト初期化(プロジェクト説明から自動生成)
469
- /michi_multi_repo:spec-init "マイクロサービスアーキテクチャでECサイトを構築" --jira MSV --confluence-space MSV
470
+ /michi-multi-repo:spec-init "マイクロサービスアーキテクチャでECサイトを構築" --jira MSV --confluence-space MSV
470
471
 
471
472
  # 2. リポジトリ登録(CLIコマンド)
472
473
  michi multi-repo:add-repo my-microservices --name frontend --url https://github.com/org/frontend --branch main
473
474
  michi multi-repo:add-repo my-microservices --name backend --url https://github.com/org/backend --branch main
474
475
 
475
476
  # 3. AIで要件定義書生成
476
- /michi_multi_repo:spec-requirements my-microservices
477
+ /michi-multi-repo:spec-requirements my-microservices
477
478
 
478
479
  # 4. AIで設計書生成(アーキテクチャ図含む)
479
- /michi_multi_repo:spec-design my-microservices
480
+ /michi-multi-repo:spec-design my-microservices
480
481
 
481
482
  # 5. Confluence同期
482
483
  michi multi-repo:confluence-sync my-microservices
@@ -6,17 +6,17 @@
6
6
  export const ENV_CONFIG = {
7
7
  claude: {
8
8
  rulesDir: '.claude/rules',
9
- commandsDir: '.claude/commands/kiro',
9
+ commandsDir: '.claude/commands',
10
10
  templateSource: 'claude',
11
11
  },
12
12
  'claude-agent': {
13
13
  rulesDir: '.claude/agents',
14
- commandsDir: '.claude/commands/kiro',
14
+ commandsDir: '.claude/commands',
15
15
  templateSource: 'claude-agent',
16
16
  },
17
17
  cursor: {
18
18
  rulesDir: '.cursor/rules',
19
- commandsDir: '.cursor/commands/kiro',
19
+ commandsDir: '.cursor/commands',
20
20
  templateSource: 'cursor',
21
21
  },
22
22
  gemini: {
@@ -1 +1 @@
1
- {"version":3,"file":"environments.js","sourceRoot":"","sources":["../../../scripts/constants/environments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,MAAM,CAAC,MAAM,UAAU,GAA2C;IAChE,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,uBAAuB;QACpC,cAAc,EAAE,QAAQ;KACzB;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,uBAAuB;QACpC,cAAc,EAAE,cAAc;KAC/B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,uBAAuB;QACpC,cAAc,EAAE,QAAQ;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,QAAQ;KACzB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,aAAa;QACvB,WAAW,EAAE,aAAa;QAC1B,cAAc,EAAE,OAAO;KACxB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,sBAAsB;QACnC,cAAc,EAAE,OAAO;KACxB;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAgB,EAAqB,EAAE;IAC1E,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAsB,EAAE;IACxE,OAAO,GAAG,IAAI,UAAU,CAAC;AAC3B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAkB,EAAE;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAkB,CAAC;AAClD,CAAC,CAAC"}
1
+ {"version":3,"file":"environments.js","sourceRoot":"","sources":["../../../scripts/constants/environments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,MAAM,CAAC,MAAM,UAAU,GAA2C;IAChE,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,QAAQ;KACzB;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,cAAc;KAC/B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,QAAQ;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,QAAQ;KACzB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,aAAa;QACvB,WAAW,EAAE,aAAa;QAC1B,cAAc,EAAE,OAAO;KACxB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,sBAAsB;QACnC,cAAc,EAAE,OAAO;KACxB;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAgB,EAAqB,EAAE;IAC1E,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAsB,EAAE;IACxE,OAAO,GAAG,IAAI,UAAU,CAAC;AAC3B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAkB,EAAE;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAkB,CAAC;AAClD,CAAC,CAAC"}
@@ -0,0 +1,51 @@
1
+ # {{PROJECT_NAME}} - CI Status
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **最終更新**: {{CREATED_AT}}
9
+
10
+ ## CI結果サマリー
11
+
12
+ | リポジトリ名 | ビルドステータス | テストステータス | カバレッジ | 最終実行日時 | 失敗詳細 |
13
+ |------------|---------------|---------------|----------|------------|----------|
14
+ | <!-- リポジトリ名 --> | <!-- ✅/❌/⏳/❓ --> | <!-- ✅/❌/⏳/❓ --> | <!-- XX% --> | <!-- YYYY-MM-DD HH:mm:ss --> | <!-- GitHub URL --> |
15
+
16
+ <!--
17
+ ステータスアイコン:
18
+ - ✅ success: ビルド・テスト成功
19
+ - ❌ failure: ビルド・テスト失敗
20
+ - ⏳ running: 実行中
21
+ - ❓ unknown: 不明・未実行
22
+
23
+ このファイルは `multi-repo:ci-status <project-name>` コマンドで自動更新されます。
24
+ -->
25
+
26
+ ## 統計情報
27
+
28
+ - **総リポジトリ数**: 0
29
+ - **成功**: 0
30
+ - **失敗**: 0
31
+ - **実行中**: 0
32
+ - **不明**: 0
33
+
34
+ ## 注意事項
35
+
36
+ このドキュメントは自動生成されます。手動で編集しないでください。
37
+ 最新のCI結果を取得するには、以下のコマンドを実行してください:
38
+
39
+ ```bash
40
+ npm run michi multi-repo:ci-status {{PROJECT_NAME}}
41
+ ```
42
+
43
+ 差分表示オプション:
44
+
45
+ ```bash
46
+ npm run michi multi-repo:ci-status {{PROJECT_NAME}} --diff
47
+ ```
48
+
49
+ ## 変更履歴
50
+
51
+ 自動生成のため、変更履歴は記録されません。
@@ -0,0 +1,99 @@
1
+ # {{PROJECT_NAME}} - リリースノート
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **作成日時**: {{CREATED_AT}}
9
+
10
+ ## リリースノート一覧
11
+
12
+ ### バージョン 1.0.0 (YYYY-MM-DD)
13
+
14
+ #### 新機能 (New Features)
15
+
16
+ - <!-- 新機能を記述してください -->
17
+
18
+ #### 改善 (Improvements)
19
+
20
+ - <!-- 改善内容を記述してください -->
21
+
22
+ #### バグ修正 (Bug Fixes)
23
+
24
+ - <!-- バグ修正を記述してください -->
25
+
26
+ #### Breaking Changes
27
+
28
+ - <!-- 破壊的変更を記述してください(ない場合は「なし」) -->
29
+
30
+ #### 既知の問題 (Known Issues)
31
+
32
+ - <!-- 既知の問題を記述してください -->
33
+
34
+ ---
35
+
36
+ ## リリースノート作成ガイド
37
+
38
+ ### 新機能 (New Features)
39
+
40
+ ユーザーに提供される新しい機能を記述します。
41
+
42
+ **フォーマット例**:
43
+ ```
44
+ - [機能名] 簡潔な説明 (関連JIRA: {{JIRA_KEY}}-XXX)
45
+ ```
46
+
47
+ ### 改善 (Improvements)
48
+
49
+ 既存機能の改善、パフォーマンス向上、UX改善などを記述します。
50
+
51
+ **フォーマット例**:
52
+ ```
53
+ - [改善内容] 詳細説明 (関連JIRA: {{JIRA_KEY}}-XXX)
54
+ ```
55
+
56
+ ### バグ修正 (Bug Fixes)
57
+
58
+ 修正されたバグを記述します。
59
+
60
+ **フォーマット例**:
61
+ ```
62
+ - [バグの内容] 修正内容 (関連JIRA: {{JIRA_KEY}}-XXX)
63
+ ```
64
+
65
+ ### Breaking Changes
66
+
67
+ 既存の動作を変更する破壊的変更を記述します。
68
+ マイグレーション手順を含めてください。
69
+
70
+ **フォーマット例**:
71
+ ```
72
+ - [変更内容] 影響範囲とマイグレーション手順 (関連JIRA: {{JIRA_KEY}}-XXX)
73
+ ```
74
+
75
+ ### 既知の問題 (Known Issues)
76
+
77
+ リリース時点で既知の問題を記述します。
78
+ 回避策や対応予定を含めてください。
79
+
80
+ **フォーマット例**:
81
+ ```
82
+ - [問題の内容] 回避策または対応予定 (関連JIRA: {{JIRA_KEY}}-XXX)
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Confluence同期
88
+
89
+ このリリースノートをConfluenceに同期するには、以下のコマンドを実行してください:
90
+
91
+ ```bash
92
+ npm run michi multi-repo:sync {{PROJECT_NAME}} --doc release-notes
93
+ ```
94
+
95
+ ## 変更履歴
96
+
97
+ | 日付 | バージョン | 変更内容 | 担当者 |
98
+ |------|-----------|---------|--------|
99
+ | {{CREATED_AT}} | 1.0.0 | 初版作成 | - |
@@ -0,0 +1,183 @@
1
+ # {{PROJECT_NAME}} - アーキテクチャ設計書
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **作成日時**: {{CREATED_AT}}
9
+
10
+ ## システム構成図
11
+
12
+ ```mermaid
13
+ graph TB
14
+ A[クライアント] --> B[APIゲートウェイ]
15
+ B --> C[バックエンドサービス]
16
+ C --> D[データベース]
17
+ C --> E[外部API]
18
+ ```
19
+
20
+ <!-- システム構成図を更新してください -->
21
+
22
+ ## アーキテクチャパターン
23
+
24
+ <!-- 採用するアーキテクチャパターンを記述してください -->
25
+ <!-- 例: マイクロサービス、レイヤードアーキテクチャ、ヘキサゴナルアーキテクチャ -->
26
+
27
+ ### レイヤー構成
28
+
29
+ <!-- レイヤー構成を記述してください -->
30
+
31
+ ## コンポーネント図
32
+
33
+ ```mermaid
34
+ graph LR
35
+ subgraph "プレゼンテーション層"
36
+ A[UI Component]
37
+ end
38
+
39
+ subgraph "ビジネスロジック層"
40
+ B[Service Layer]
41
+ end
42
+
43
+ subgraph "データアクセス層"
44
+ C[Repository]
45
+ end
46
+
47
+ A --> B
48
+ B --> C
49
+ ```
50
+
51
+ <!-- コンポーネント図を更新してください -->
52
+
53
+ ## 技術スタック
54
+
55
+ ### フロントエンド
56
+
57
+ <!-- フロントエンド技術スタックを記述してください -->
58
+
59
+ ### バックエンド
60
+
61
+ <!-- バックエンド技術スタックを記述してください -->
62
+
63
+ ### データベース
64
+
65
+ <!-- データベース技術スタックを記述してください -->
66
+
67
+ ### インフラストラクチャ
68
+
69
+ <!-- インフラストラクチャを記述してください -->
70
+
71
+ ## データモデル
72
+
73
+ <!-- データモデルを記述してください -->
74
+
75
+ ```mermaid
76
+ erDiagram
77
+ USER ||--o{ ORDER : places
78
+ USER {
79
+ string id
80
+ string name
81
+ string email
82
+ }
83
+ ORDER {
84
+ string id
85
+ string userId
86
+ date createdAt
87
+ }
88
+ ```
89
+
90
+ ## セキュリティアーキテクチャ
91
+
92
+ <!-- セキュリティアーキテクチャを記述してください -->
93
+
94
+ ## スケーラビリティ設計
95
+
96
+ <!-- スケーラビリティ設計を記述してください -->
97
+
98
+ ## サービス横断アーキテクチャ
99
+
100
+ <!-- AI生成コマンド(/michi_multi_repo:spec-design)を使用すると、自動的にサービス横断アーキテクチャが挿入されます -->
101
+
102
+ ### C4モデル - システムコンテキスト図
103
+
104
+ ```mermaid
105
+ C4Context
106
+ title System Context Diagram
107
+
108
+ Person(user, "User", "エンドユーザー")
109
+ System(system, "{{PROJECT_NAME}}", "マルチリポジトリシステム")
110
+ System_Ext(external, "External System", "外部システム")
111
+
112
+ Rel(user, system, "Uses", "HTTPS")
113
+ Rel(system, external, "Integrates", "REST/HTTPS")
114
+ ```
115
+
116
+ ### サービス間通信
117
+
118
+ <!-- AI生成コマンドを使用すると、サービス間通信の詳細が自動生成されます -->
119
+
120
+ | 呼び出し元 | 呼び出し先 | 方式 | プロトコル | 用途 |
121
+ |-----------|-----------|------|-----------|------|
122
+ | Frontend | API Gateway | 同期 | REST/HTTPS | ユーザーリクエスト処理 |
123
+ | Service A | Service B | 同期 | gRPC | サービス間通信 |
124
+ | Service B | Service C | 非同期 | Kafka | イベント通知 |
125
+
126
+ ### 共有コンポーネント
127
+
128
+ <!-- AI生成コマンドを使用すると、共有コンポーネントが自動的に抽出されます -->
129
+
130
+ **共通ライブラリ**:
131
+ - `@org/shared-types`: 型定義(全サービスで共有)
132
+ - `@org/logger`: 統一ログライブラリ
133
+
134
+ **共通インフラ**:
135
+ - Elasticsearch: ログ集約
136
+ - Prometheus + Grafana: メトリクス監視
137
+ - 認証基盤: 統合認証サービス
138
+
139
+ ### デプロイメントアーキテクチャ
140
+
141
+ ```mermaid
142
+ graph TB
143
+ subgraph "Production Environment"
144
+ LB[Load Balancer]
145
+ FE1[Frontend Pod 1]
146
+ FE2[Frontend Pod 2]
147
+ BE1[Backend Pod 1]
148
+ BE2[Backend Pod 2]
149
+ DB[(Database)]
150
+
151
+ LB --> FE1
152
+ LB --> FE2
153
+ FE1 --> BE1
154
+ FE2 --> BE2
155
+ BE1 --> DB
156
+ BE2 --> DB
157
+ end
158
+ ```
159
+
160
+ ### データフロー
161
+
162
+ <!-- AI生成コマンドを使用すると、サービス間のデータフローシーケンス図が自動生成されます -->
163
+
164
+ ```mermaid
165
+ sequenceDiagram
166
+ participant User
167
+ participant Frontend
168
+ participant Backend
169
+ participant Database
170
+
171
+ User->>Frontend: リクエスト
172
+ Frontend->>Backend: API呼び出し
173
+ Backend->>Database: クエリ実行
174
+ Database-->>Backend: データ返却
175
+ Backend-->>Frontend: レスポンス
176
+ Frontend-->>User: 表示
177
+ ```
178
+
179
+ ## 変更履歴
180
+
181
+ | 日付 | バージョン | 変更内容 | 担当者 |
182
+ |------|-----------|---------|--------|
183
+ | {{CREATED_AT}} | 1.0.0 | 初版作成 | - |
@@ -0,0 +1,110 @@
1
+ # {{PROJECT_NAME}} - 要件定義書
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **作成日時**: {{CREATED_AT}}
9
+
10
+ ## 概要
11
+
12
+ このドキュメントは、{{PROJECT_NAME}}プロジェクトの要件定義書です。
13
+
14
+ ## ビジネス価値
15
+
16
+ <!-- プロジェクトのビジネス価値を記述してください -->
17
+
18
+ ### 対象ユーザー
19
+
20
+ <!-- 対象ユーザーを記述してください -->
21
+ - プロジェクトリーダー
22
+ - アーキテクト
23
+ - 開発者
24
+ - QAエンジニア
25
+
26
+ ### 主要機能
27
+
28
+ <!-- 主要機能を記述してください -->
29
+
30
+ ## 受入基準(EARS形式)
31
+
32
+ ### 必須要件
33
+
34
+ <!-- EARS形式(Event-Action-Response-System)で受入基準を記述してください -->
35
+ <!-- 例: -->
36
+ <!-- - WHEN ユーザーがプロジェクトを初期化する際、IF プロジェクト名が有効である場合、THEN システムはプロジェクトディレクトリを作成し、成功メッセージを表示する。 -->
37
+
38
+ ### 任意要件
39
+
40
+ <!-- 任意要件を記述してください -->
41
+
42
+ ## 技術的制約
43
+
44
+ <!-- 技術的制約を記述してください -->
45
+
46
+ ## 非機能要件
47
+
48
+ ### パフォーマンス要件
49
+
50
+ <!-- パフォーマンス要件を記述してください -->
51
+
52
+ ### セキュリティ要件
53
+
54
+ <!-- セキュリティ要件を記述してください -->
55
+
56
+ ### 保守性要件
57
+
58
+ <!-- 保守性要件を記述してください -->
59
+
60
+ ## リスクと制限事項
61
+
62
+ <!-- リスクと制限事項を記述してください -->
63
+
64
+ ## サービス構成
65
+
66
+ ### 登録リポジトリ一覧
67
+
68
+ <!-- AI生成コマンド(/michi_multi_repo:spec-requirements)を使用すると、自動的に登録リポジトリ情報が挿入されます -->
69
+
70
+ | サービス名 | リポジトリURL | ブランチ | 役割 | 技術スタック |
71
+ |-----------|---------------|---------|------|-------------|
72
+ | <!-- 例: frontend --> | <!-- 例: https://github.com/org/frontend --> | <!-- 例: main --> | <!-- 例: ユーザーインターフェース --> | <!-- 例: React, TypeScript --> |
73
+
74
+ ### サービス間依存関係
75
+
76
+ <!-- AI生成コマンドを使用すると、サービス間の依存関係図が自動生成されます -->
77
+
78
+ ```mermaid
79
+ graph TB
80
+ A[Service A] -->|API| B[Service B]
81
+ B -->|gRPC| C[Service C]
82
+ ```
83
+
84
+ ## インターフェース要件
85
+
86
+ ### API契約
87
+
88
+ <!-- サービス間のAPI契約を記述してください -->
89
+ <!-- AI生成コマンドを使用すると、要件定義書から自動的にAPI契約が抽出されます -->
90
+
91
+ **サービスA → サービスB**
92
+ - エンドポイント: `POST /api/v1/resource`
93
+ - プロトコル: HTTP/REST
94
+ - データ形式: JSON
95
+
96
+ ### イベント契約
97
+
98
+ <!-- Pub/Subイベントのスキーマを記述してください -->
99
+ <!-- AI生成コマンドを使用すると、イベント駆動設計のスキーマが自動生成されます -->
100
+
101
+ **サービスA → サービスB**
102
+ - イベント: `resource.created`
103
+ - プロトコル: Kafka / RabbitMQ
104
+ - スキーマ: { resourceId, name, createdAt }
105
+
106
+ ## 変更履歴
107
+
108
+ | 日付 | バージョン | 変更内容 | 担当者 |
109
+ |------|-----------|---------|--------|
110
+ | {{CREATED_AT}} | 1.0.0 | 初版作成 | - |
@@ -0,0 +1,79 @@
1
+ # {{PROJECT_NAME}} - シーケンス図
2
+
3
+ ## プロジェクト情報
4
+
5
+ - **プロジェクト名**: {{PROJECT_NAME}}
6
+ - **JIRAキー**: {{JIRA_KEY}}
7
+ - **Confluenceスペース**: {{CONFLUENCE_SPACE}}
8
+ - **作成日時**: {{CREATED_AT}}
9
+
10
+ ## 主要フローのシーケンス図
11
+
12
+ ### ユーザー登録フロー
13
+
14
+ ```mermaid
15
+ sequenceDiagram
16
+ participant U as ユーザー
17
+ participant F as フロントエンド
18
+ participant B as バックエンド
19
+ participant DB as データベース
20
+
21
+ U->>F: 登録情報を入力
22
+ F->>B: POST /api/users
23
+ B->>DB: ユーザー情報を保存
24
+ DB-->>B: 保存成功
25
+ B-->>F: ユーザーID返却
26
+ F-->>U: 登録完了メッセージ表示
27
+ ```
28
+
29
+ <!-- ユーザー登録フローを更新してください -->
30
+
31
+ ### データ取得フロー
32
+
33
+ ```mermaid
34
+ sequenceDiagram
35
+ participant U as ユーザー
36
+ participant F as フロントエンド
37
+ participant B as バックエンド
38
+ participant DB as データベース
39
+ participant C as キャッシュ
40
+
41
+ U->>F: データリクエスト
42
+ F->>B: GET /api/data
43
+ B->>C: キャッシュ確認
44
+ alt キャッシュヒット
45
+ C-->>B: キャッシュデータ返却
46
+ else キャッシュミス
47
+ B->>DB: データクエリ
48
+ DB-->>B: データ返却
49
+ B->>C: キャッシュ保存
50
+ end
51
+ B-->>F: データ返却
52
+ F-->>U: データ表示
53
+ ```
54
+
55
+ <!-- データ取得フローを更新してください -->
56
+
57
+ ### エラーハンドリングフロー
58
+
59
+ ```mermaid
60
+ sequenceDiagram
61
+ participant U as ユーザー
62
+ participant F as フロントエンド
63
+ participant B as バックエンド
64
+ participant L as ログサービス
65
+
66
+ U->>F: リクエスト送信
67
+ F->>B: API呼び出し
68
+ B-->>F: エラーレスポンス(500)
69
+ F->>L: エラーログ記録
70
+ F-->>U: エラーメッセージ表示
71
+ ```
72
+
73
+ <!-- エラーハンドリングフローを更新してください -->
74
+
75
+ ## 変更履歴
76
+
77
+ | 日付 | バージョン | 変更内容 | 担当者 |
78
+ |------|-----------|---------|--------|
79
+ | {{CREATED_AT}} | 1.0.0 | 初版作成 | - |
@@ -0,0 +1,20 @@
1
+ {
2
+ "project_name": "{{PROJECT_NAME}}",
3
+ "created_at": "{{CREATED_AT}}",
4
+ "updated_at": "{{CREATED_AT}}",
5
+ "language": "ja",
6
+ "phase": "initialized",
7
+ "jira_key": "{{JIRA_KEY}}",
8
+ "confluence_space": "{{CONFLUENCE_SPACE}}",
9
+ "approvals": {
10
+ "requirements": {
11
+ "generated": false,
12
+ "approved": false
13
+ },
14
+ "design": {
15
+ "generated": false,
16
+ "approved": false
17
+ }
18
+ },
19
+ "ready_for_implementation": false
20
+ }