create-ai-project 1.12.0 → 1.13.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/.claude/agents-en/investigator.md +131 -0
- package/.claude/agents-en/solver.md +145 -0
- package/.claude/agents-en/verifier.md +165 -0
- package/.claude/agents-ja/investigator.md +131 -0
- package/.claude/agents-ja/solver.md +145 -0
- package/.claude/agents-ja/verifier.md +165 -0
- package/.claude/commands-en/diagnose.md +123 -0
- package/.claude/commands-ja/diagnose.md +123 -0
- package/README.ja.md +4 -0
- package/README.md +4 -0
- package/package.json +8 -3
- package/.claude/agents/acceptance-test-generator.md +0 -250
- package/.claude/agents/code-reviewer.md +0 -187
- package/.claude/agents/design-sync.md +0 -221
- package/.claude/agents/document-reviewer.md +0 -187
- package/.claude/agents/integration-test-reviewer.md +0 -192
- package/.claude/agents/prd-creator.md +0 -190
- package/.claude/agents/quality-fixer-frontend.md +0 -324
- package/.claude/agents/quality-fixer.md +0 -281
- package/.claude/agents/requirement-analyzer.md +0 -161
- package/.claude/agents/rule-advisor.md +0 -175
- package/.claude/agents/task-decomposer.md +0 -285
- package/.claude/agents/task-executor-frontend.md +0 -264
- package/.claude/agents/task-executor.md +0 -258
- package/.claude/agents/technical-designer-frontend.md +0 -444
- package/.claude/agents/technical-designer.md +0 -368
- package/.claude/agents/work-planner.md +0 -208
- package/.claude/commands/build.md +0 -75
- package/.claude/commands/design.md +0 -37
- package/.claude/commands/front-build.md +0 -103
- package/.claude/commands/front-design.md +0 -42
- package/.claude/commands/front-plan.md +0 -40
- package/.claude/commands/implement.md +0 -73
- package/.claude/commands/plan.md +0 -43
- package/.claude/commands/project-inject.md +0 -76
- package/.claude/commands/refine-skill.md +0 -206
- package/.claude/commands/review.md +0 -78
- package/.claude/commands/sync-skills.md +0 -116
- package/.claude/commands/task.md +0 -13
- package/.claude/settings.local.json +0 -94
- package/.claude/skills/coding-standards/SKILL.md +0 -246
- package/.claude/skills/documentation-criteria/SKILL.md +0 -193
- package/.claude/skills/documentation-criteria/references/adr-template.md +0 -64
- package/.claude/skills/documentation-criteria/references/design-template.md +0 -242
- package/.claude/skills/documentation-criteria/references/plan-template.md +0 -130
- package/.claude/skills/documentation-criteria/references/prd-template.md +0 -109
- package/.claude/skills/frontend/technical-spec/SKILL.md +0 -147
- package/.claude/skills/frontend/typescript-rules/SKILL.md +0 -315
- package/.claude/skills/frontend/typescript-testing/SKILL.md +0 -212
- package/.claude/skills/implementation-approach/SKILL.md +0 -141
- package/.claude/skills/integration-e2e-testing/SKILL.md +0 -146
- package/.claude/skills/project-context/SKILL.md +0 -42
- package/.claude/skills/subagents-orchestration-guide/SKILL.md +0 -212
- package/.claude/skills/task-analyzer/SKILL.md +0 -142
- package/.claude/skills/task-analyzer/references/skills-index.yaml +0 -211
- package/.claude/skills/technical-spec/SKILL.md +0 -86
- package/.claude/skills/typescript-rules/SKILL.md +0 -121
- package/.claude/skills/typescript-testing/SKILL.md +0 -155
|
@@ -1,193 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: documentation-criteria
|
|
3
|
-
description: PRD、ADR、Design Doc、作業計画書を含むドキュメント作成基準とテンプレート。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# ドキュメント作成基準
|
|
7
|
-
|
|
8
|
-
## 作成判定マトリクス
|
|
9
|
-
|
|
10
|
-
| 条件 | 必要ドキュメント | 作成順序 |
|
|
11
|
-
|-----|--------------|---------|
|
|
12
|
-
| 新機能追加 | PRD → [ADR] → Design Doc → 作業計画書 | PRD承認後 |
|
|
13
|
-
| ADR条件該当(下記参照) | ADR → Design Doc → 作業計画書 | 即座に開始 |
|
|
14
|
-
| 6ファイル以上 | ADR → Design Doc → 作業計画書(必須) | 即座に開始 |
|
|
15
|
-
| 3-5ファイル | Design Doc → 作業計画書(推奨) | 即座に開始 |
|
|
16
|
-
| 1-2ファイル | なし | 直接実装 |
|
|
17
|
-
|
|
18
|
-
## ADR作成条件(いずれか該当で必須)
|
|
19
|
-
|
|
20
|
-
### 1. 型システム変更
|
|
21
|
-
- **3階層以上のネスト型追加**: `type A = { b: { c: { d: T } } }`
|
|
22
|
-
- 判断理由: 深いネストは複雑性が高く、影響範囲が広い
|
|
23
|
-
- **3箇所以上で使用される型の変更・削除**
|
|
24
|
-
- 判断理由: 複数箇所への影響は慎重な判断が必要
|
|
25
|
-
- **型の責務変更**(例: DTO→Entity)
|
|
26
|
-
- 判断理由: 概念モデルの変更は設計思想に関わる
|
|
27
|
-
|
|
28
|
-
### 2. データフロー変更
|
|
29
|
-
- **保存場所変更**(DB→ファイル、メモリ→キャッシュ)
|
|
30
|
-
- **3ステップ以上の処理順序変更**
|
|
31
|
-
- 例: 「入力→検証→保存」から「入力→保存→非同期検証」
|
|
32
|
-
- **データ受け渡し方法変更**(props→Context、直接参照→イベント)
|
|
33
|
-
|
|
34
|
-
### 3. アーキテクチャ変更
|
|
35
|
-
- レイヤー追加・責務変更・コンポーネント再配置
|
|
36
|
-
|
|
37
|
-
### 4. 外部依存変更
|
|
38
|
-
- ライブラリ・フレームワーク・外部API導入・置換
|
|
39
|
-
|
|
40
|
-
### 5. 複雑な実装ロジック(規模に関わらず)
|
|
41
|
-
- 3つ以上の状態を管理
|
|
42
|
-
- 5つ以上の非同期処理の連携
|
|
43
|
-
|
|
44
|
-
## 各ドキュメントの詳細定義
|
|
45
|
-
|
|
46
|
-
### PRD(Product Requirements Document)
|
|
47
|
-
|
|
48
|
-
**目的**: ビジネス要件とユーザー価値を定義
|
|
49
|
-
|
|
50
|
-
**含むもの**:
|
|
51
|
-
- ビジネス要件とユーザー価値
|
|
52
|
-
- 成功指標とKPI(測定可能な形式)
|
|
53
|
-
- ユーザーストーリーとユースケース
|
|
54
|
-
- MoSCoW法による優先順位(Must/Should/Could/Won't)
|
|
55
|
-
- MVPとFutureフェーズの分離
|
|
56
|
-
- ユーザージャーニー図(必須)
|
|
57
|
-
- スコープ境界図(必須)
|
|
58
|
-
|
|
59
|
-
**含まないもの**:
|
|
60
|
-
- 技術実装詳細(→Design Doc)
|
|
61
|
-
- 技術選定理由(→ADR)
|
|
62
|
-
- **実装フェーズ**(→作業計画書)
|
|
63
|
-
- **タスク分解**(→作業計画書)
|
|
64
|
-
|
|
65
|
-
### ADR(Architecture Decision Record)
|
|
66
|
-
|
|
67
|
-
**目的**: 技術的決定の理由と背景を記録
|
|
68
|
-
|
|
69
|
-
**含むもの**:
|
|
70
|
-
- 決定事項(何を選択したか)
|
|
71
|
-
- 根拠(なぜその選択をしたか)
|
|
72
|
-
- 選択肢の比較(最低3案)とトレードオフ
|
|
73
|
-
- アーキテクチャへの影響
|
|
74
|
-
- 実装への原則的な指針(例:「依存性注入を使用」)
|
|
75
|
-
|
|
76
|
-
**含まないもの**:
|
|
77
|
-
- 実装スケジュール、期間(→作業計画書)
|
|
78
|
-
- 実装手順の詳細(→Design Doc)
|
|
79
|
-
- 具体的なコード例(→Design Doc)
|
|
80
|
-
- 担当者の割り当て(→作業計画書)
|
|
81
|
-
|
|
82
|
-
### Design Document
|
|
83
|
-
|
|
84
|
-
**目的**: 技術的実装方法を詳細定義
|
|
85
|
-
|
|
86
|
-
**含むもの**:
|
|
87
|
-
- **既存コードベース分析**(必須)
|
|
88
|
-
- 実装パスマッピング(既存と新規の両方を記載)
|
|
89
|
-
- 統合点の明確化(新規実装でも既存との接続点を記載)
|
|
90
|
-
- 技術的実装アプローチ(垂直/水平/ハイブリッド)
|
|
91
|
-
- **技術的依存関係と実装制約**(実装の必要順序)
|
|
92
|
-
- インターフェース定義と型定義
|
|
93
|
-
- データフローとコンポーネント設計
|
|
94
|
-
- **統合ポイントでのE2E確認手順**
|
|
95
|
-
- **受入条件(EARS形式: When/While/If-then/無印)**
|
|
96
|
-
- 変更影響マップ(直接影響/間接影響/波及なしを明記)
|
|
97
|
-
- 統合点の完全な列挙
|
|
98
|
-
- データ契約の明確化
|
|
99
|
-
- **合意事項チェックリスト**(関係者との合意内容)
|
|
100
|
-
- **前提となるADR**(共通ADR含む)
|
|
101
|
-
|
|
102
|
-
**必須構造要素**:
|
|
103
|
-
```yaml
|
|
104
|
-
変更影響マップ:
|
|
105
|
-
変更対象: [コンポーネント/機能]
|
|
106
|
-
直接影響: [ファイル/関数]
|
|
107
|
-
間接影響: [データ形式/処理時間]
|
|
108
|
-
波及なし: [影響を受けない機能]
|
|
109
|
-
|
|
110
|
-
インターフェース変更マトリクス:
|
|
111
|
-
既存: [メソッド名]
|
|
112
|
-
新規: [メソッド名]
|
|
113
|
-
変換必要性: [あり/なし]
|
|
114
|
-
互換性確保: [方法]
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
**含まないもの**:
|
|
118
|
-
- なぜその技術を選んだか(→ADR参照)
|
|
119
|
-
- いつ実装するか、期間(→作業計画書)
|
|
120
|
-
- 誰が実装するか(→作業計画書)
|
|
121
|
-
|
|
122
|
-
### 作業計画書
|
|
123
|
-
|
|
124
|
-
**目的**: 実装タスクの管理と進捗追跡
|
|
125
|
-
|
|
126
|
-
**含むもの**:
|
|
127
|
-
- **フェーズ構成**(Design Docの技術的依存関係を基に作成)
|
|
128
|
-
- タスク分解と依存関係(最大2階層まで)
|
|
129
|
-
- スケジュールと期間見積もり
|
|
130
|
-
- **Design DocのE2E確認手順を各フェーズに配置**
|
|
131
|
-
- **最終フェーズに品質保証を含む**(必須)
|
|
132
|
-
- 進捗記録(チェックボックス形式)
|
|
133
|
-
|
|
134
|
-
**含まないもの**:
|
|
135
|
-
- 技術的な根拠(→ADR)
|
|
136
|
-
- 設計の詳細(→Design Doc)
|
|
137
|
-
- 技術的依存関係の決定(→Design Doc)
|
|
138
|
-
|
|
139
|
-
**タスク完了定義の3要素**:
|
|
140
|
-
1. **実装完了**: コードが動作する
|
|
141
|
-
2. **品質完了**: テスト・型チェック・リントがパス
|
|
142
|
-
3. **統合完了**: 他コンポーネントとの連携確認
|
|
143
|
-
|
|
144
|
-
## 作成プロセス
|
|
145
|
-
|
|
146
|
-
1. **問題分析**: 変更規模判定、ADR条件確認
|
|
147
|
-
2. **ADR選択肢検討**(ADR時のみ): 3案以上比較、トレードオフ明記
|
|
148
|
-
3. **作成**: テンプレート使用、測定可能な条件記載
|
|
149
|
-
4. **承認**: レビュー後「Accepted」で実装可
|
|
150
|
-
|
|
151
|
-
## 保存場所
|
|
152
|
-
|
|
153
|
-
| ドキュメント | パス | 命名規則 | テンプレート |
|
|
154
|
-
|------------|-----|---------|------------|
|
|
155
|
-
| PRD | `docs/prd/` | `[機能名]-prd.md` | `prd-template.md` |
|
|
156
|
-
| ADR | `docs/adr/` | `ADR-[4桁]-[タイトル].md` | `adr-template.md` |
|
|
157
|
-
| Design Doc | `docs/design/` | `[機能名]-design.md` | `design-template.md` |
|
|
158
|
-
| 作業計画書 | `docs/plans/` | `YYYYMMDD-{type}-{description}.md` | `plan-template.md` |
|
|
159
|
-
|
|
160
|
-
※作業計画書は`.gitignore`で除外
|
|
161
|
-
|
|
162
|
-
## ADRステータス
|
|
163
|
-
`Proposed` → `Accepted` → `Deprecated`/`Superseded`/`Rejected`
|
|
164
|
-
|
|
165
|
-
## AI自動化ルール
|
|
166
|
-
- 5ファイル以上: ADR作成提案
|
|
167
|
-
- 型・データフロー変更検出: ADR必須化
|
|
168
|
-
- 既存ADR確認してから実装
|
|
169
|
-
|
|
170
|
-
## 図表作成要件
|
|
171
|
-
|
|
172
|
-
各ドキュメントで必須の図表(mermaid記法使用):
|
|
173
|
-
|
|
174
|
-
| ドキュメント | 必須図表 | 目的 |
|
|
175
|
-
|------------|---------|-----|
|
|
176
|
-
| PRD | ユーザージャーニー図、スコープ境界図 | ユーザー体験と範囲の明確化 |
|
|
177
|
-
| ADR | 選択肢比較図(必要時) | トレードオフの視覚化 |
|
|
178
|
-
| Design Doc | アーキテクチャ図、データフロー図 | 技術構造の理解 |
|
|
179
|
-
| 作業計画書 | フェーズ構成図、タスク依存関係図 | 実装順序の明確化 |
|
|
180
|
-
|
|
181
|
-
## 共通ADRとの関係性
|
|
182
|
-
1. **作成時**: 共通技術領域(ログ、エラーハンドリング、非同期処理等)を特定し、既存共通ADRを参照
|
|
183
|
-
2. **不足時**: 必要な共通ADRが存在しない場合は作成を検討
|
|
184
|
-
3. **Design Doc**: 「前提となるADR」セクションで共通ADRを明記
|
|
185
|
-
4. **準拠確認**: 設計が共通ADRの決定事項と整合しているかを検証
|
|
186
|
-
|
|
187
|
-
## テンプレート
|
|
188
|
-
|
|
189
|
-
テンプレートは`references/`ディレクトリにあります:
|
|
190
|
-
- [Design Documentテンプレート](references/design-template.md)
|
|
191
|
-
- [PRDテンプレート](references/prd-template.md)
|
|
192
|
-
- [作業計画書テンプレート](references/plan-template.md)
|
|
193
|
-
- [ADRテンプレート](references/adr-template.md)
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
# [ADR番号] [タイトル]
|
|
2
|
-
|
|
3
|
-
## ステータス
|
|
4
|
-
|
|
5
|
-
[Proposed | Accepted | Deprecated | Superseded]
|
|
6
|
-
|
|
7
|
-
## 経緯
|
|
8
|
-
|
|
9
|
-
[この決定が必要になった背景と理由を説明。問題の本質、現在の課題、制約を含む]
|
|
10
|
-
|
|
11
|
-
## 決定事項
|
|
12
|
-
|
|
13
|
-
[実際に行った決定を説明。具体的で明確な記述を心がける]
|
|
14
|
-
|
|
15
|
-
### 決定の詳細
|
|
16
|
-
|
|
17
|
-
| 項目 | 内容 |
|
|
18
|
-
|-----|-----|
|
|
19
|
-
| **決定** | [一文で決定内容] |
|
|
20
|
-
| **なぜ今か** | [今このタイミングで必要な理由] |
|
|
21
|
-
| **なぜこれか** | [代替案との比較理由(1-3行)] |
|
|
22
|
-
| **既知の不確実性** | [現時点で少なくとも1つの不確実性] |
|
|
23
|
-
| **撤回基準** | [この決定を見直すべきシグナル1つ] |
|
|
24
|
-
|
|
25
|
-
## 根拠
|
|
26
|
-
|
|
27
|
-
[なぜこの決定を行ったか、代替案と比較して最善である理由を説明]
|
|
28
|
-
|
|
29
|
-
### 検討した選択肢
|
|
30
|
-
|
|
31
|
-
1. **選択肢1**: [説明]
|
|
32
|
-
- メリット: [利点をリストアップ]
|
|
33
|
-
- デメリット: [欠点をリストアップ]
|
|
34
|
-
|
|
35
|
-
2. **選択肢2**: [説明]
|
|
36
|
-
- メリット: [利点をリストアップ]
|
|
37
|
-
- デメリット: [欠点をリストアップ]
|
|
38
|
-
|
|
39
|
-
3. **選択肢3(採用)**: [説明]
|
|
40
|
-
- メリット: [利点をリストアップ]
|
|
41
|
-
- デメリット: [欠点をリストアップ]
|
|
42
|
-
|
|
43
|
-
## 影響
|
|
44
|
-
|
|
45
|
-
### ポジティブな影響
|
|
46
|
-
|
|
47
|
-
- [プロジェクトやシステムへの良い影響をリストアップ]
|
|
48
|
-
|
|
49
|
-
### ネガティブな影響
|
|
50
|
-
|
|
51
|
-
- [受け入れる必要のある負の影響やトレードオフをリストアップ]
|
|
52
|
-
|
|
53
|
-
### 中立的な影響
|
|
54
|
-
|
|
55
|
-
- [良くも悪くもない変化をリストアップ]
|
|
56
|
-
|
|
57
|
-
## 実装指針
|
|
58
|
-
|
|
59
|
-
[原則的な方向性のみ。実装手順はDesign Docへ]
|
|
60
|
-
例: 「依存性注入を使用」○、「Phase 1で実装」×
|
|
61
|
-
|
|
62
|
-
## 関連情報
|
|
63
|
-
|
|
64
|
-
- [関連するADR、ドキュメント、Issue、PRなどへのリンク]
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
# [機能名] 設計書
|
|
2
|
-
|
|
3
|
-
## 概要
|
|
4
|
-
|
|
5
|
-
[この機能の目的と概要を2-3文で説明]
|
|
6
|
-
|
|
7
|
-
## 設計サマリー(メタ)
|
|
8
|
-
|
|
9
|
-
```yaml
|
|
10
|
-
design_type: "新機能|拡張|リファクタリング"
|
|
11
|
-
risk_level: "低|中|高"
|
|
12
|
-
main_constraints:
|
|
13
|
-
- "[制約1]"
|
|
14
|
-
- "[制約2]"
|
|
15
|
-
biggest_risks:
|
|
16
|
-
- "[リスク1]"
|
|
17
|
-
- "[リスク2]"
|
|
18
|
-
unknowns:
|
|
19
|
-
- "[不確実性1]"
|
|
20
|
-
- "[不確実性2]"
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
## 背景と経緯
|
|
24
|
-
|
|
25
|
-
### 前提となるADR
|
|
26
|
-
|
|
27
|
-
- [ADRファイル名]: [関連する決定事項]
|
|
28
|
-
- 共通技術ADRも該当する場合は参照
|
|
29
|
-
|
|
30
|
-
### 合意事項チェックリスト
|
|
31
|
-
|
|
32
|
-
#### スコープ
|
|
33
|
-
- [ ] [変更対象の機能/コンポーネント]
|
|
34
|
-
- [ ] [追加する機能]
|
|
35
|
-
|
|
36
|
-
#### スコープ外(明示的に変更しないもの)
|
|
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
|
-
## 受入条件(AC)- EARS形式
|
|
67
|
-
|
|
68
|
-
各ACはEARS形式で記述。キーワードがテストタイプを決定。
|
|
69
|
-
|
|
70
|
-
### [機能要件1]
|
|
71
|
-
|
|
72
|
-
- [ ] **When** ユーザーが有効な認証情報でログインボタンをクリックすると、システムは認証を行いダッシュボードにリダイレクトする
|
|
73
|
-
- [ ] **If** 認証情報が無効な場合、**then** システムはエラーメッセージ「認証情報が無効です」を表示する
|
|
74
|
-
- [ ] **While** ユーザーがログインしている間、システムはセッションを60分間維持する
|
|
75
|
-
|
|
76
|
-
### [機能要件2]
|
|
77
|
-
|
|
78
|
-
- [ ] システムはデータリストを1ページ10件のページネーション付きで表示する
|
|
79
|
-
- [ ] **When** 検索フィールドに入力すると、システムはリアルタイムでフィルタリングを適用する
|
|
80
|
-
- **Property**: `filtered.every(item => item.name.includes(query))`
|
|
81
|
-
|
|
82
|
-
## 既存コードベース分析
|
|
83
|
-
|
|
84
|
-
### 実装パスマッピング
|
|
85
|
-
| 種別 | パス | 説明 |
|
|
86
|
-
|-----|-----|-----|
|
|
87
|
-
| 既存 | src/[実際のパス] | [現在の実装] |
|
|
88
|
-
| 新規 | src/[計画パス] | [新規作成予定] |
|
|
89
|
-
|
|
90
|
-
### 統合ポイント(新規実装でも記載)
|
|
91
|
-
- **統合先**: [何と連携するか]
|
|
92
|
-
- **呼び出し方式**: [どのように呼び出されるか]
|
|
93
|
-
|
|
94
|
-
## 設計
|
|
95
|
-
|
|
96
|
-
### 変更影響マップ
|
|
97
|
-
|
|
98
|
-
```yaml
|
|
99
|
-
変更対象: [変更するコンポーネント/機能]
|
|
100
|
-
直接影響:
|
|
101
|
-
- [直接変更が必要なファイル/関数]
|
|
102
|
-
- [インターフェース変更箇所]
|
|
103
|
-
間接影響:
|
|
104
|
-
- [データ形式の変更]
|
|
105
|
-
- [処理時間の変化]
|
|
106
|
-
波及なし:
|
|
107
|
-
- [明示的に影響を受けない機能]
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### アーキテクチャ概要
|
|
111
|
-
|
|
112
|
-
[この機能がシステム全体の中でどのように位置づけられるか]
|
|
113
|
-
|
|
114
|
-
### データフロー
|
|
115
|
-
|
|
116
|
-
```
|
|
117
|
-
[図やシュードコードでデータの流れを表現]
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### 統合ポイント一覧
|
|
121
|
-
|
|
122
|
-
| 統合ポイント | 箇所 | 旧実装 | 新実装 | 切替方式 |
|
|
123
|
-
|------------|-----|-------|-------|---------|
|
|
124
|
-
| 統合ポイント1 | [クラス/関数] | [既存処理] | [新処理] | [DI/Factoryなど] |
|
|
125
|
-
| 統合ポイント2 | [別の箇所] | [既存] | [新規] | [方式] |
|
|
126
|
-
|
|
127
|
-
### 主要コンポーネント
|
|
128
|
-
|
|
129
|
-
#### コンポーネント1
|
|
130
|
-
|
|
131
|
-
- **責務**: [このコンポーネントの責務範囲]
|
|
132
|
-
- **インターフェース**: [提供するAPIや型定義]
|
|
133
|
-
- **依存関係**: [他のコンポーネントとの関係]
|
|
134
|
-
|
|
135
|
-
### 型定義
|
|
136
|
-
|
|
137
|
-
```typescript
|
|
138
|
-
// 主要な型定義をここに記載
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
### データ契約
|
|
142
|
-
|
|
143
|
-
#### コンポーネント1
|
|
144
|
-
|
|
145
|
-
```yaml
|
|
146
|
-
入力:
|
|
147
|
-
型: [TypeScript型定義]
|
|
148
|
-
前提条件: [必須項目、形式の制約]
|
|
149
|
-
バリデーション: [検証方法]
|
|
150
|
-
|
|
151
|
-
出力:
|
|
152
|
-
型: [TypeScript型定義]
|
|
153
|
-
保証: [常に満たされる条件]
|
|
154
|
-
エラー時: [例外/null/デフォルト値]
|
|
155
|
-
|
|
156
|
-
不変条件:
|
|
157
|
-
- [処理前後で変わらない条件]
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### エラーハンドリング
|
|
161
|
-
|
|
162
|
-
[エラーの種類とその処理方法]
|
|
163
|
-
|
|
164
|
-
### ロギングとモニタリング
|
|
165
|
-
|
|
166
|
-
[ログに記録する内容とモニタリング方法]
|
|
167
|
-
|
|
168
|
-
## 実装計画
|
|
169
|
-
|
|
170
|
-
### 実装アプローチ
|
|
171
|
-
|
|
172
|
-
**選択したアプローチ**: [アプローチ名または組み合わせ]
|
|
173
|
-
**選択理由**: [プロジェクト制約と技術的依存関係を考慮した理由]
|
|
174
|
-
|
|
175
|
-
### 技術的依存関係と実装順序
|
|
176
|
-
|
|
177
|
-
#### 必要な実装順序
|
|
178
|
-
1. **[コンポーネント/機能A]**
|
|
179
|
-
- 技術的理由: [なぜ先に実装する必要があるか]
|
|
180
|
-
- 依存要素: [これに依存する他のコンポーネント]
|
|
181
|
-
|
|
182
|
-
2. **[コンポーネント/機能B]**
|
|
183
|
-
- 技術的理由: [Aの後に実装する技術的必要性]
|
|
184
|
-
- 前提条件: [事前に必要な実装]
|
|
185
|
-
|
|
186
|
-
### 統合ポイント
|
|
187
|
-
各統合ポイントでE2E確認が必要:
|
|
188
|
-
|
|
189
|
-
**統合ポイント1: [名称]**
|
|
190
|
-
- コンポーネント: [コンポーネントA] -> [コンポーネントB]
|
|
191
|
-
- 確認方法: [統合が動作することの検証方法]
|
|
192
|
-
|
|
193
|
-
### 移行戦略
|
|
194
|
-
|
|
195
|
-
[技術的な移行アプローチ、後方互換性の確保方法]
|
|
196
|
-
|
|
197
|
-
## テスト戦略
|
|
198
|
-
|
|
199
|
-
### 単体テスト
|
|
200
|
-
|
|
201
|
-
[単体テストの方針とカバレッジ目標]
|
|
202
|
-
- 機能受入条件の個別要素を検証
|
|
203
|
-
|
|
204
|
-
### 統合テスト
|
|
205
|
-
|
|
206
|
-
[統合テストの方針と重要なテストケース]
|
|
207
|
-
- 機能受入条件の組み合わせ動作を検証
|
|
208
|
-
|
|
209
|
-
### E2Eテスト
|
|
210
|
-
|
|
211
|
-
[E2Eテストの方針]
|
|
212
|
-
- 受入条件のシナリオ全体を検証
|
|
213
|
-
- ユーザー視点での機能動作を確認
|
|
214
|
-
|
|
215
|
-
## セキュリティ考慮事項
|
|
216
|
-
|
|
217
|
-
[セキュリティ上の懸念点と対策]
|
|
218
|
-
|
|
219
|
-
## 代替案
|
|
220
|
-
|
|
221
|
-
### 代替案1
|
|
222
|
-
|
|
223
|
-
- **概要**: [代替案の説明]
|
|
224
|
-
- **メリット**: [利点]
|
|
225
|
-
- **デメリット**: [欠点]
|
|
226
|
-
- **不採用理由**: [採用しなかった理由]
|
|
227
|
-
|
|
228
|
-
## リスクと対策
|
|
229
|
-
|
|
230
|
-
| リスク | 影響度 | 発生確率 | 対策 |
|
|
231
|
-
|-------|-------|---------|-----|
|
|
232
|
-
| [リスク1] | 高/中/低 | 高/中/低 | [対策] |
|
|
233
|
-
|
|
234
|
-
## 参考資料
|
|
235
|
-
|
|
236
|
-
- [関連するドキュメントやリンク]
|
|
237
|
-
|
|
238
|
-
## 更新履歴
|
|
239
|
-
|
|
240
|
-
| 日付 | バージョン | 変更内容 | 作成者 |
|
|
241
|
-
|-----|-----------|---------|-------|
|
|
242
|
-
| YYYY-MM-DD | 1.0 | 初版作成 | [名前] |
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
# 作業計画書: [タイトル]
|
|
2
|
-
|
|
3
|
-
作成日: YYYY-MM-DD
|
|
4
|
-
種別: feature|fix|refactor
|
|
5
|
-
想定影響範囲: Xファイル
|
|
6
|
-
関連Issue/PR: #XXX(該当する場合)
|
|
7
|
-
|
|
8
|
-
## 関連ドキュメント
|
|
9
|
-
- 設計書: [docs/design/XXX.md]
|
|
10
|
-
- ADR: [docs/adr/ADR-XXXX.md](該当する場合)
|
|
11
|
-
- PRD: [docs/prd/XXX.md](該当する場合)
|
|
12
|
-
|
|
13
|
-
## 目的
|
|
14
|
-
[なぜこの変更が必要か、何を解決するか]
|
|
15
|
-
|
|
16
|
-
## 影響範囲
|
|
17
|
-
### 対象ファイル
|
|
18
|
-
- [ ] src/domain/xxx
|
|
19
|
-
- [ ] src/application/xxx
|
|
20
|
-
- [ ] src/infrastructure/xxx
|
|
21
|
-
- [ ] src/presentation/xxx
|
|
22
|
-
|
|
23
|
-
### テストファイル
|
|
24
|
-
- [ ] __tests__/xxx.test.ts
|
|
25
|
-
- [ ] __tests__/xxx.test.ts
|
|
26
|
-
|
|
27
|
-
### ドキュメント
|
|
28
|
-
- [ ] ADR作成が必要(アーキテクチャ変更の場合)
|
|
29
|
-
- [ ] 設計書更新が必要
|
|
30
|
-
- [ ] README更新が必要
|
|
31
|
-
|
|
32
|
-
## 実装計画
|
|
33
|
-
|
|
34
|
-
(注: フェーズ構成はDesign Docの技術的依存関係と実装アプローチに基づいて決定)
|
|
35
|
-
|
|
36
|
-
### Phase 1: [フェーズ名](想定コミット数: X)
|
|
37
|
-
**目的**: [このフェーズで達成すること]
|
|
38
|
-
|
|
39
|
-
#### タスク
|
|
40
|
-
- [ ] タスク1: 具体的な作業内容
|
|
41
|
-
- [ ] タスク2: 具体的な作業内容
|
|
42
|
-
- [ ] 品質チェック: 段階的品質チェック実施(technical-specスキル参照)
|
|
43
|
-
- [ ] 単体テスト: 関連する全テストがパス
|
|
44
|
-
|
|
45
|
-
#### フェーズ完了条件
|
|
46
|
-
- [ ] [機能完了条件]
|
|
47
|
-
- [ ] [品質完了条件]
|
|
48
|
-
|
|
49
|
-
#### 動作確認手順
|
|
50
|
-
1. [動作確認ステップ]
|
|
51
|
-
2. [期待結果の確認]
|
|
52
|
-
3. [パフォーマンス確認(該当する場合)]
|
|
53
|
-
|
|
54
|
-
### Phase 2: [フェーズ名](想定コミット数: X)
|
|
55
|
-
**目的**: [このフェーズで達成すること]
|
|
56
|
-
|
|
57
|
-
#### タスク
|
|
58
|
-
- [ ] タスク1: 具体的な作業内容
|
|
59
|
-
- [ ] タスク2: 具体的な作業内容
|
|
60
|
-
- [ ] 品質チェック: 段階的品質チェック実施(technical-specスキル参照)
|
|
61
|
-
- [ ] 統合テスト: 機能全体の動作確認
|
|
62
|
-
|
|
63
|
-
#### フェーズ完了条件
|
|
64
|
-
- [ ] [機能完了条件]
|
|
65
|
-
- [ ] [品質完了条件]
|
|
66
|
-
|
|
67
|
-
#### 動作確認手順
|
|
68
|
-
1. [動作確認ステップ]
|
|
69
|
-
2. [期待結果の確認]
|
|
70
|
-
3. [パフォーマンス確認(該当する場合)]
|
|
71
|
-
|
|
72
|
-
### Phase 3: [フェーズ名](想定コミット数: X)
|
|
73
|
-
**目的**: [このフェーズで達成すること]
|
|
74
|
-
|
|
75
|
-
#### タスク
|
|
76
|
-
- [ ] タスク1: 具体的な作業内容
|
|
77
|
-
- [ ] タスク2: 具体的な作業内容
|
|
78
|
-
- [ ] 品質チェック: 段階的品質チェック実施(technical-specスキル参照)
|
|
79
|
-
- [ ] 統合テスト: コンポーネント連携の検証
|
|
80
|
-
|
|
81
|
-
#### フェーズ完了条件
|
|
82
|
-
- [ ] [機能完了条件]
|
|
83
|
-
- [ ] [品質完了条件]
|
|
84
|
-
|
|
85
|
-
#### 動作確認手順
|
|
86
|
-
[Design Docの該当する統合ポイントE2E確認をコピー]
|
|
87
|
-
|
|
88
|
-
### 最終Phase: 品質保証(必須)(想定コミット数: 1)
|
|
89
|
-
**目的**: 全体品質保証とDesign Doc整合性検証
|
|
90
|
-
|
|
91
|
-
#### タスク
|
|
92
|
-
- [ ] Design Docの全受入条件達成を確認
|
|
93
|
-
- [ ] 品質チェック(型、lint、format)
|
|
94
|
-
- [ ] 全テスト実行
|
|
95
|
-
- [ ] カバレッジ70%以上
|
|
96
|
-
- [ ] ドキュメント更新
|
|
97
|
-
|
|
98
|
-
#### 動作確認手順
|
|
99
|
-
[Design DocからE2E確認手順をコピー]
|
|
100
|
-
|
|
101
|
-
### 品質保証
|
|
102
|
-
- [ ] 段階的品質チェック実施(詳細: technical-specスキル参照)
|
|
103
|
-
|
|
104
|
-
## リスクと対策
|
|
105
|
-
| リスク | 対策 |
|
|
106
|
-
|-------|-----|
|
|
107
|
-
| [想定されるリスク] | [対処方法] |
|
|
108
|
-
|
|
109
|
-
## 完了条件
|
|
110
|
-
- [ ] 全フェーズ完了
|
|
111
|
-
- [ ] 各フェーズの動作確認手順を実施
|
|
112
|
-
- [ ] Design Docの受入条件を満たす
|
|
113
|
-
- [ ] 段階的品質チェック完了(エラー0件)
|
|
114
|
-
- [ ] 全テストパス
|
|
115
|
-
- [ ] 必要なドキュメント更新
|
|
116
|
-
- [ ] ユーザーレビュー承認取得
|
|
117
|
-
|
|
118
|
-
## 進捗記録
|
|
119
|
-
### Phase 1
|
|
120
|
-
- 開始: YYYY-MM-DD HH:MM
|
|
121
|
-
- 完了: YYYY-MM-DD HH:MM
|
|
122
|
-
- 備考: [特記事項]
|
|
123
|
-
|
|
124
|
-
### Phase 2
|
|
125
|
-
- 開始: YYYY-MM-DD HH:MM
|
|
126
|
-
- 完了: YYYY-MM-DD HH:MM
|
|
127
|
-
- 備考: [特記事項]
|
|
128
|
-
|
|
129
|
-
## 備考
|
|
130
|
-
[特記事項、参考情報、注意点など]
|