yodogawa 1.0.2 → 1.0.4
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/.windsurf/scripts/setup-docs.sh +92 -92
- package/.windsurf/templates/project/03-domain/01-domain-model.md +1 -0
- package/.windsurf/templates/project/04-design/01-tech-stack.md +7 -0
- package/.windsurf/templates/project/04-design/02-repository-structure.md +3 -2
- package/.windsurf/templates/project/04-design/03-screen-design.md +14 -4
- package/.windsurf/templates/project/04-design/05-api-spec.md +5 -0
- package/.windsurf/templates/tasks/task-template/c-implementation.md +3 -0
- package/.windsurf/workflows/a-001-SetupDocStructure.md +20 -2
- package/.windsurf/workflows/a-002-InitializeProject.md +8 -0
- package/.windsurf/workflows/a-003-CreateScenarios.md +10 -0
- package/.windsurf/workflows/a-004-DefineDomainModel.md +9 -0
- package/.windsurf/workflows/a-005-CreateDomainDiagram.md +5 -0
- package/.windsurf/workflows/a-006-ReviewRequirementsDomain.md +12 -1
- package/.windsurf/workflows/a-007-DefineTechStack.md +7 -0
- package/.windsurf/workflows/a-008-DefineRepositoryStructure.md +9 -0
- package/.windsurf/workflows/a-009-DefineScreenDesign.md +7 -0
- package/.windsurf/workflows/a-010-DefineDataModel.md +8 -0
- package/.windsurf/workflows/a-011-DefineAPISpec.md +8 -0
- package/.windsurf/workflows/a-012-DefineArchitecture.md +8 -0
- package/.windsurf/workflows/a-013-DefineInfrastructure.md +9 -0
- package/.windsurf/workflows/a-014-ReviewDesign.md +10 -1
- package/.windsurf/workflows/b-001-CreateTaskDirectory.md +7 -1
- package/.windsurf/workflows/b-002-CreateTaskDefinition.md +5 -0
- package/.windsurf/workflows/b-003-CreateTaskResearch.md +40 -0
- package/.windsurf/workflows/b-004-CreateTaskImplementation.md +1 -0
- package/.windsurf/workflows/b-005-ReviewTask.md +11 -0
- package/.windsurf/workflows/c-001-ImplementTask.md +28 -1
- package/.windsurf/workflows/c-002-UpdateDocumentation.md +56 -1
- package/README.md +152 -234
- package/package.json +9 -2
- package/.windsurf/workflows/x-Accessibility-Check.md +0 -469
- package/.windsurf/workflows/x-Bundle-Optimize.md +0 -386
- package/.windsurf/workflows/x-CI-FixFailure.md +0 -636
- package/.windsurf/workflows/x-CI-Setup.md +0 -641
- package/.windsurf/workflows/x-Code-Refactor.md +0 -71
- package/.windsurf/workflows/x-Code-ResearchAndReview.md +0 -78
- package/.windsurf/workflows/x-Component-Create.md +0 -359
- package/.windsurf/workflows/x-Context-CatchUp.md +0 -63
- package/.windsurf/workflows/x-Database-Seed.md +0 -300
- package/.windsurf/workflows/x-Dependencies-Update.md +0 -315
- package/.windsurf/workflows/x-DevEnvironment-Setup.md +0 -437
- package/.windsurf/workflows/x-Logging-Add.md +0 -682
- package/.windsurf/workflows/x-Migration-Create.md +0 -354
- package/.windsurf/workflows/x-Problem-RootCauseAnalysis.md +0 -65
- package/.windsurf/workflows/x-Repository-Push.md +0 -375
- package/.windsurf/workflows/x-Repository-PushToGithub.md +0 -72
- package/.windsurf/workflows/x-Requirements-Clarify.md +0 -61
- package/.windsurf/workflows/z-CreateWorkflow.md +0 -77
|
@@ -29,9 +29,11 @@ auto_execution_mode: 1
|
|
|
29
29
|
### 1. ドキュメント存在確認
|
|
30
30
|
|
|
31
31
|
- 必要なすべてのドキュメントが存在するか確認する:
|
|
32
|
+
|
|
32
33
|
```bash
|
|
33
34
|
ls -l docs/project/requirements/*.md docs/project/behavior/*.md docs/project/domain/*.md
|
|
34
35
|
```
|
|
36
|
+
|
|
35
37
|
- 不足しているドキュメントがある場合、対応するワークフロー(a-002, a-003, a-004)の実行を促す。
|
|
36
38
|
|
|
37
39
|
### 2. 一貫性チェックの実行
|
|
@@ -39,25 +41,31 @@ auto_execution_mode: 1
|
|
|
39
41
|
以下の項目について、自動検索(grep等)と手動確認を組み合わせて検証する。
|
|
40
42
|
|
|
41
43
|
#### 2.1 ユーザーストーリー ↔ シナリオ
|
|
44
|
+
|
|
42
45
|
- **カバレッジ**: すべてのユーザーストーリー(US-XXX)に対応するシナリオ(SC-XXX)が存在するか。
|
|
43
46
|
- **整合性**: ストーリーの「価値」とシナリオの「結果」が一致しているか。
|
|
44
47
|
|
|
45
48
|
#### 2.2 実装済み機能・予定機能 ↔ シナリオ
|
|
49
|
+
|
|
46
50
|
- **実装済み機能**: `02-features-implemented.md` に記載の機能に、リグレッションテスト用のシナリオが存在するか。
|
|
47
51
|
- **予定機能**: `03-features-planned.md` の優先度High機能にシナリオが存在するか。
|
|
48
52
|
|
|
49
53
|
#### 2.3 非機能要件 ↔ ドメインモデル
|
|
54
|
+
|
|
50
55
|
- **パフォーマンス**: `04-non-functional-requirements.md` の要件(読み込み速度など)に対し、Read ModelやCQRSが検討されているか。
|
|
51
56
|
- **セキュリティ**: 認証・権限要件が Policy や Guard としてドメインモデルに含まれているか。
|
|
52
57
|
|
|
53
58
|
#### 2.4 シナリオ ↔ ドメインモデル
|
|
59
|
+
|
|
54
60
|
- **Command**: シナリオのWhen(アクション)がドメインモデルのCommandとして定義されているか。
|
|
55
61
|
- **Event**: シナリオのThen(結果)がドメインモデルのDomain Eventとして定義されているか。
|
|
56
62
|
- **Actor**: シナリオのActorがドメインモデルに存在するか。
|
|
57
63
|
|
|
58
64
|
#### 2.5 ユビキタス言語の遵守
|
|
65
|
+
|
|
59
66
|
- **用語定義**: ドメインモデルの主要要素(Aggregate, Command, Event)がユビキタス言語一覧にあるか。
|
|
60
67
|
- **禁止用語**: 各ドキュメントに禁止用語(Data, Process等)が使われていないか。
|
|
68
|
+
|
|
61
69
|
```bash
|
|
62
70
|
# 禁止用語の簡易検索(例)
|
|
63
71
|
grep -r "Data" docs/project/domain/ || echo "No 'Data' found"
|
|
@@ -65,6 +73,7 @@ auto_execution_mode: 1
|
|
|
65
73
|
```
|
|
66
74
|
|
|
67
75
|
#### 2.6 目的との整合性
|
|
76
|
+
|
|
68
77
|
- システム概要の「目的」と、ドメインモデルの「Core Domain」が一致しているか。
|
|
69
78
|
|
|
70
79
|
### 3. レビュー結果レポートの作成
|
|
@@ -72,6 +81,7 @@ auto_execution_mode: 1
|
|
|
72
81
|
- 検出された問題(Error/Warning)をまとめ、`docs/project/REVIEW-REPORT.md` を作成する。
|
|
73
82
|
|
|
74
83
|
**レポートフォーマット例**:
|
|
84
|
+
|
|
75
85
|
```markdown
|
|
76
86
|
# ドキュメント一貫性レビュー結果
|
|
77
87
|
**実施日**: YYYY-MM-DD
|
|
@@ -113,6 +123,7 @@ auto_execution_mode: 1
|
|
|
113
123
|
### 5. Git への追加(オプション)
|
|
114
124
|
|
|
115
125
|
- ユーザーが希望する場合、レポートをコミットする。
|
|
126
|
+
|
|
116
127
|
```bash
|
|
117
128
|
git add docs/project/REVIEW-REPORT--YYYYMMDDHHMMSS.md
|
|
118
129
|
git commit -m "docs: 要件・ドメイン整合性レビューレポートの作成"
|
|
@@ -129,4 +140,4 @@ auto_execution_mode: 1
|
|
|
129
140
|
- 多数のエラーが検出された場合:
|
|
130
141
|
- 「不整合が多いため、ドキュメントの信頼性が低くなっています。関係者を集めて大規模なレビュー会議を行うことを推奨します。」
|
|
131
142
|
- 重要機能(Core Domain)で不整合がある場合:
|
|
132
|
-
- 「Core Domainにおける不整合はリスクが高いです。実装前に必ず解消してください。」
|
|
143
|
+
- 「Core Domainにおける不整合はリスクが高いです。実装前に必ず解消してください。」
|
|
@@ -21,9 +21,11 @@ description: 要件を分析して推奨技術スタックを提案し、ユー
|
|
|
21
21
|
### 1. ドキュメントと前提条件の確認
|
|
22
22
|
|
|
23
23
|
- `docs/project/design/` ディレクトリの存在を確認
|
|
24
|
+
|
|
24
25
|
```bash
|
|
25
26
|
ls -la docs/project/design/ 2>/dev/null || echo "ディレクトリが存在しません"
|
|
26
27
|
```
|
|
28
|
+
|
|
27
29
|
- 存在しない場合:ユーザーに通知し、`SetupDocStructure` (a-001) を実行するよう促す。
|
|
28
30
|
|
|
29
31
|
- 必要な要件ドキュメントを読み込む:
|
|
@@ -35,6 +37,7 @@ description: 要件を分析して推奨技術スタックを提案し、ユー
|
|
|
35
37
|
### 2. テンプレートの準備
|
|
36
38
|
|
|
37
39
|
- テンプレートをコピーして作業用ファイルを作成する:
|
|
40
|
+
|
|
38
41
|
```bash
|
|
39
42
|
cp ".windsurf/templates/project/04-design/01-tech-stack.md" "docs/project/design/01-tech-stack.md"
|
|
40
43
|
```
|
|
@@ -76,6 +79,7 @@ description: 要件を分析して推奨技術スタックを提案し、ユー
|
|
|
76
79
|
- 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
|
|
77
80
|
|
|
78
81
|
1. **構造確認**:
|
|
82
|
+
|
|
79
83
|
```bash
|
|
80
84
|
# フロントエンドセクションの確認
|
|
81
85
|
grep "### フロントエンド" docs/project/design/01-tech-stack.md && echo "OK" || echo "MISSING: Frontend section"
|
|
@@ -94,11 +98,14 @@ description: 要件を分析して推奨技術スタックを提案し、ユー
|
|
|
94
98
|
|
|
95
99
|
- ユーザーに確認:「作成した技術スタックドキュメントを Git に追加しますか?」
|
|
96
100
|
- 「はい」の場合、以下を実行:
|
|
101
|
+
|
|
97
102
|
```bash
|
|
98
103
|
git add docs/project/design/01-tech-stack.md
|
|
99
104
|
git status
|
|
100
105
|
```
|
|
106
|
+
|
|
101
107
|
- 推奨コミットメッセージ:
|
|
108
|
+
|
|
102
109
|
```
|
|
103
110
|
docs: 技術スタック選定ドキュメントの作成
|
|
104
111
|
|
|
@@ -21,14 +21,17 @@ description: 技術スタックに基づいてプロジェクトのディレク
|
|
|
21
21
|
### 1. ドキュメントと前提条件の確認
|
|
22
22
|
|
|
23
23
|
- `docs/project/design/01-tech-stack.md` を読み込み、技術スタックを確認する。
|
|
24
|
+
|
|
24
25
|
```bash
|
|
25
26
|
ls -la docs/project/design/01-tech-stack.md 2>/dev/null || echo "ファイルが存在しません"
|
|
26
27
|
```
|
|
28
|
+
|
|
27
29
|
- 存在しない場合:ユーザーに通知し、`DefineTechStack` (a-007) を実行するよう促す。
|
|
28
30
|
|
|
29
31
|
### 2. テンプレートの準備
|
|
30
32
|
|
|
31
33
|
- テンプレートをコピーして作業用ファイルを作成する:
|
|
34
|
+
|
|
32
35
|
```bash
|
|
33
36
|
cp ".windsurf/templates/project/04-design/02-repository-structure.md" "docs/project/design/02-repository-structure.md"
|
|
34
37
|
```
|
|
@@ -50,11 +53,13 @@ description: 技術スタックに基づいてプロジェクトのディレク
|
|
|
50
53
|
ユーザーからのフィードバックを受け、詳細を決定する。
|
|
51
54
|
|
|
52
55
|
#### 4.1 ディレクトリ構成
|
|
56
|
+
|
|
53
57
|
- ソースコードのルート(`src/` vs `app/`)
|
|
54
58
|
- テストコードの配置(`tests/` vs コロケーション)
|
|
55
59
|
- 機能モジュールの構成(`features/`, `components/`, `lib/` 等)
|
|
56
60
|
|
|
57
61
|
#### 4.2 命名規則とルール
|
|
62
|
+
|
|
58
63
|
- ファイル名(PascalCase, camelCase, kebab-case)
|
|
59
64
|
- 依存関係ルール(上位層から下位層への依存のみ許可など)
|
|
60
65
|
- コロケーション戦略(関連ファイルをまとめるか分離するか)
|
|
@@ -73,6 +78,7 @@ description: 技術スタックに基づいてプロジェクトのディレク
|
|
|
73
78
|
- 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
|
|
74
79
|
|
|
75
80
|
1. **構造確認**:
|
|
81
|
+
|
|
76
82
|
```bash
|
|
77
83
|
# ディレクトリ構造図の確認
|
|
78
84
|
grep "project-root/" docs/project/design/02-repository-structure.md && echo "OK" || echo "MISSING: Directory tree"
|
|
@@ -91,11 +97,14 @@ description: 技術スタックに基づいてプロジェクトのディレク
|
|
|
91
97
|
|
|
92
98
|
- ユーザーに確認:「作成したリポジトリ構造ドキュメントを Git に追加しますか?」
|
|
93
99
|
- 「はい」の場合、以下を実行:
|
|
100
|
+
|
|
94
101
|
```bash
|
|
95
102
|
git add docs/project/design/02-repository-structure.md
|
|
96
103
|
git status
|
|
97
104
|
```
|
|
105
|
+
|
|
98
106
|
- 推奨コミットメッセージ:
|
|
107
|
+
|
|
99
108
|
```
|
|
100
109
|
docs: リポジトリ構造とアーキテクチャ定義の作成
|
|
101
110
|
|
|
@@ -31,6 +31,7 @@ description: ユーザーストーリーとシナリオから画面一覧を抽
|
|
|
31
31
|
### 2. テンプレートの準備
|
|
32
32
|
|
|
33
33
|
- テンプレートをコピーして作業用ファイルを作成する:
|
|
34
|
+
|
|
34
35
|
```bash
|
|
35
36
|
cp ".windsurf/templates/project/04-design/03-screen-design.md" "docs/project/design/03-screen-design.md"
|
|
36
37
|
```
|
|
@@ -48,11 +49,13 @@ description: ユーザーストーリーとシナリオから画面一覧を抽
|
|
|
48
49
|
ユーザーからのフィードバックを受け、以下を定義する。
|
|
49
50
|
|
|
50
51
|
#### 4.1 各画面の詳細
|
|
52
|
+
|
|
51
53
|
- 画面ID、名称、URLパス
|
|
52
54
|
- アクセス権限(誰が見れるか)
|
|
53
55
|
- **重要な状態**: 初回訪問(Empty State)、ロード中、エラー時など
|
|
54
56
|
|
|
55
57
|
#### 4.2 画面遷移フロー
|
|
58
|
+
|
|
56
59
|
- 主要なユーザーフロー(認証、メイン機能、エラー)をMermaid図で表現する。
|
|
57
60
|
- デッドエンド(戻れない画面)がないか確認する。
|
|
58
61
|
|
|
@@ -75,6 +78,7 @@ description: ユーザーストーリーとシナリオから画面一覧を抽
|
|
|
75
78
|
- 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
|
|
76
79
|
|
|
77
80
|
1. **構造確認**:
|
|
81
|
+
|
|
78
82
|
```bash
|
|
79
83
|
# 画面一覧セクションの確認
|
|
80
84
|
grep "## 画面一覧" docs/project/design/03-screen-design.md && echo "OK" || echo "MISSING: Screen list"
|
|
@@ -93,11 +97,14 @@ description: ユーザーストーリーとシナリオから画面一覧を抽
|
|
|
93
97
|
|
|
94
98
|
- ユーザーに確認:「作成した画面設計ドキュメントを Git に追加しますか?」
|
|
95
99
|
- 「はい」の場合、以下を実行:
|
|
100
|
+
|
|
96
101
|
```bash
|
|
97
102
|
git add docs/project/design/03-screen-design.md
|
|
98
103
|
git status
|
|
99
104
|
```
|
|
105
|
+
|
|
100
106
|
- 推奨コミットメッセージ:
|
|
107
|
+
|
|
101
108
|
```
|
|
102
109
|
docs: 画面設計ドキュメントの作成
|
|
103
110
|
|
|
@@ -32,6 +32,7 @@ description: ドメインモデルと画面設計からデータベース構造
|
|
|
32
32
|
### 2. テンプレートの準備
|
|
33
33
|
|
|
34
34
|
- テンプレートをコピーして作業用ファイルを作成する:
|
|
35
|
+
|
|
35
36
|
```bash
|
|
36
37
|
cp ".windsurf/templates/project/04-design/04-data-model.md" "docs/project/design/04-data-model.md"
|
|
37
38
|
```
|
|
@@ -49,15 +50,18 @@ description: ドメインモデルと画面設計からデータベース構造
|
|
|
49
50
|
ユーザーからのフィードバックを受け、各エンティティの詳細を定義する。
|
|
50
51
|
|
|
51
52
|
#### 4.1 基本定義
|
|
53
|
+
|
|
52
54
|
- テーブル名(物理名)、論理名、説明
|
|
53
55
|
- 主キー(ID)の戦略(Auto Increment / UUID / CUID)
|
|
54
56
|
|
|
55
57
|
#### 4.2 属性(カラム)
|
|
58
|
+
|
|
56
59
|
- カラム名、データ型(DB製品に合わせて具体的に)
|
|
57
60
|
- 制約(NOT NULL, UNIQUE, DEFAULT)
|
|
58
61
|
- 監査カラム(created_at, updated_at)の有無
|
|
59
62
|
|
|
60
63
|
#### 4.3 リレーションシップ
|
|
64
|
+
|
|
61
65
|
- 関連するエンティティ(1:1, 1:N, N:M)
|
|
62
66
|
- 外部キー制約(ON DELETE CASCADE / SET NULL / RESTRICT)
|
|
63
67
|
|
|
@@ -80,6 +84,7 @@ description: ドメインモデルと画面設計からデータベース構造
|
|
|
80
84
|
- 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
|
|
81
85
|
|
|
82
86
|
1. **構造確認**:
|
|
87
|
+
|
|
83
88
|
```bash
|
|
84
89
|
# エンティティ一覧の確認
|
|
85
90
|
grep "## エンティティ一覧" docs/project/design/04-data-model.md && echo "OK" || echo "MISSING: Entities"
|
|
@@ -98,11 +103,14 @@ description: ドメインモデルと画面設計からデータベース構造
|
|
|
98
103
|
|
|
99
104
|
- ユーザーに確認:「作成したデータモデルドキュメントを Git に追加しますか?」
|
|
100
105
|
- 「はい」の場合、以下を実行:
|
|
106
|
+
|
|
101
107
|
```bash
|
|
102
108
|
git add docs/project/design/04-data-model.md
|
|
103
109
|
git status
|
|
104
110
|
```
|
|
111
|
+
|
|
105
112
|
- 推奨コミットメッセージ:
|
|
113
|
+
|
|
106
114
|
```
|
|
107
115
|
docs: データモデル(ERD)の定義
|
|
108
116
|
|
|
@@ -33,6 +33,7 @@ description: データモデルと画面設計からAPI仕様を定義し、認
|
|
|
33
33
|
### 2. テンプレートの準備
|
|
34
34
|
|
|
35
35
|
- テンプレートをコピーして作業用ファイルを作成する:
|
|
36
|
+
|
|
36
37
|
```bash
|
|
37
38
|
cp ".windsurf/templates/project/04-design/05-api-spec.md" "docs/project/design/05-api-spec.md"
|
|
38
39
|
```
|
|
@@ -51,15 +52,18 @@ description: データモデルと画面設計からAPI仕様を定義し、認
|
|
|
51
52
|
ユーザーからのフィードバックを受け、詳細を定義する。
|
|
52
53
|
|
|
53
54
|
#### 4.1 認証・認可
|
|
55
|
+
|
|
54
56
|
- 認証方式(JWT, OAuth等)、トークンの扱い(Cookie vs Header)
|
|
55
57
|
- 認可スコープやロールの定義
|
|
56
58
|
|
|
57
59
|
#### 4.2 エンドポイント詳細
|
|
60
|
+
|
|
58
61
|
- 各リソースのパス設計(RESTful原則の適用)
|
|
59
62
|
- 認証の要否(Public vs Private)
|
|
60
63
|
- CRUD以外の特殊なアクション(`/cancel`, `/publish` 等)
|
|
61
64
|
|
|
62
65
|
#### 4.3 共通レスポンス形式
|
|
66
|
+
|
|
63
67
|
- 成功時のレスポンス構造(`{ data: ... }` ラップの有無)
|
|
64
68
|
- エラー時のレスポンス構造(`{ error: { code, message } }` 等)
|
|
65
69
|
- ページネーションの仕様
|
|
@@ -77,6 +81,7 @@ description: データモデルと画面設計からAPI仕様を定義し、認
|
|
|
77
81
|
- 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
|
|
78
82
|
|
|
79
83
|
1. **構造確認**:
|
|
84
|
+
|
|
80
85
|
```bash
|
|
81
86
|
# 認証セクションの確認
|
|
82
87
|
grep "## 認証・認可" docs/project/design/05-api-spec.md && echo "OK" || echo "MISSING: Auth section"
|
|
@@ -95,11 +100,14 @@ description: データモデルと画面設計からAPI仕様を定義し、認
|
|
|
95
100
|
|
|
96
101
|
- ユーザーに確認:「作成したAPI仕様ドキュメントを Git に追加しますか?」
|
|
97
102
|
- 「はい」の場合、以下を実行:
|
|
103
|
+
|
|
98
104
|
```bash
|
|
99
105
|
git add docs/project/design/05-api-spec.md
|
|
100
106
|
git status
|
|
101
107
|
```
|
|
108
|
+
|
|
102
109
|
- 推奨コミットメッセージ:
|
|
110
|
+
|
|
103
111
|
```
|
|
104
112
|
docs: API仕様(基本設計)の作成
|
|
105
113
|
|
|
@@ -34,6 +34,7 @@ description: 技術スタック、リポジトリ構造、データモデル、A
|
|
|
34
34
|
### 2. テンプレートの準備
|
|
35
35
|
|
|
36
36
|
- テンプレートをコピーして作業用ファイルを作成する:
|
|
37
|
+
|
|
37
38
|
```bash
|
|
38
39
|
cp ".windsurf/templates/project/04-design/06-architecture.md" "docs/project/design/06-architecture.md"
|
|
39
40
|
```
|
|
@@ -51,13 +52,16 @@ description: 技術スタック、リポジトリ構造、データモデル、A
|
|
|
51
52
|
ユーザーからのフィードバックを受け、詳細を定義する。
|
|
52
53
|
|
|
53
54
|
#### 4.1 システムアーキテクチャ図
|
|
55
|
+
|
|
54
56
|
- コンポーネント間の接続、プロトコル(HTTP/gRPC)、データフローをMermaid図で表現する。
|
|
55
57
|
- スケーラビリティや冗長化構成(ロードバランサー、レプリカDB)を反映する。
|
|
56
58
|
|
|
57
59
|
#### 4.2 アーキテクチャパターン
|
|
60
|
+
|
|
58
61
|
- 採用したパターン(レイヤード、クリーン、マイクロサービス等)とその選定理由を明確にする。
|
|
59
62
|
|
|
60
63
|
#### 4.3 ADR (Architecture Decision Records)
|
|
64
|
+
|
|
61
65
|
- 重要な技術的決定(DB選定、認証方式、フレームワーク選定など)を抽出する。
|
|
62
66
|
- 各決定について、背景・代替案・決定理由・影響を記録する。
|
|
63
67
|
|
|
@@ -74,6 +78,7 @@ description: 技術スタック、リポジトリ構造、データモデル、A
|
|
|
74
78
|
- 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
|
|
75
79
|
|
|
76
80
|
1. **構造確認**:
|
|
81
|
+
|
|
77
82
|
```bash
|
|
78
83
|
# アーキテクチャ図の確認
|
|
79
84
|
grep "\`\`\`mermaid" docs/project/design/06-architecture.md && echo "OK" || echo "MISSING: Architecture Diagram"
|
|
@@ -92,11 +97,14 @@ description: 技術スタック、リポジトリ構造、データモデル、A
|
|
|
92
97
|
|
|
93
98
|
- ユーザーに確認:「作成したアーキテクチャ設計ドキュメントを Git に追加しますか?」
|
|
94
99
|
- 「はい」の場合、以下を実行:
|
|
100
|
+
|
|
95
101
|
```bash
|
|
96
102
|
git add docs/project/design/06-architecture.md
|
|
97
103
|
git status
|
|
98
104
|
```
|
|
105
|
+
|
|
99
106
|
- 推奨コミットメッセージ:
|
|
107
|
+
|
|
100
108
|
```
|
|
101
109
|
docs: アーキテクチャ設計の定義
|
|
102
110
|
|
|
@@ -30,6 +30,7 @@ description: 技術スタックとアーキテクチャ設計を基に、イン
|
|
|
30
30
|
### 2. テンプレートの準備
|
|
31
31
|
|
|
32
32
|
- テンプレートをコピーして作業用ファイルを作成する:
|
|
33
|
+
|
|
33
34
|
```bash
|
|
34
35
|
cp ".windsurf/templates/project/04-design/07-infrastructure.md" "docs/project/design/07-infrastructure.md"
|
|
35
36
|
```
|
|
@@ -47,18 +48,22 @@ description: 技術スタックとアーキテクチャ設計を基に、イン
|
|
|
47
48
|
ユーザーからのフィードバックを受け、詳細を定義する。
|
|
48
49
|
|
|
49
50
|
#### 4.1 ネットワークとセキュリティ
|
|
51
|
+
|
|
50
52
|
- VPC構成、サブネット分割(Public/Private/Data)
|
|
51
53
|
- セキュリティグループ方針、WAF、HTTPS化
|
|
52
54
|
|
|
53
55
|
#### 4.2 コンピューティングとスケーリング
|
|
56
|
+
|
|
54
57
|
- インスタンスタイプ/サイズ
|
|
55
58
|
- Auto Scalingポリシー(CPU負荷等)
|
|
56
59
|
|
|
57
60
|
#### 4.3 データベースとストレージ
|
|
61
|
+
|
|
58
62
|
- Multi-AZ構成、リードレプリカの有無
|
|
59
63
|
- バックアップ方針(頻度、保持期間)
|
|
60
64
|
|
|
61
65
|
#### 4.4 環境構成
|
|
66
|
+
|
|
62
67
|
- 開発/ステージング/本番環境の差異(リソースサイズ、冗長化)
|
|
63
68
|
|
|
64
69
|
### 5. ドキュメント作成
|
|
@@ -74,6 +79,7 @@ description: 技術スタックとアーキテクチャ設計を基に、イン
|
|
|
74
79
|
- 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
|
|
75
80
|
|
|
76
81
|
1. **構造確認**:
|
|
82
|
+
|
|
77
83
|
```bash
|
|
78
84
|
# インフラ構成図の確認
|
|
79
85
|
grep "\`\`\`mermaid" docs/project/design/07-infrastructure.md && echo "OK" || echo "MISSING: Infra Diagram"
|
|
@@ -92,11 +98,14 @@ description: 技術スタックとアーキテクチャ設計を基に、イン
|
|
|
92
98
|
|
|
93
99
|
- ユーザーに確認:「作成したインフラ設計ドキュメントを Git に追加しますか?」
|
|
94
100
|
- 「はい」の場合、以下を実行:
|
|
101
|
+
|
|
95
102
|
```bash
|
|
96
103
|
git add docs/project/design/07-infrastructure.md
|
|
97
104
|
git status
|
|
98
105
|
```
|
|
106
|
+
|
|
99
107
|
- 推奨コミットメッセージ:
|
|
108
|
+
|
|
100
109
|
```
|
|
101
110
|
docs: インフラ設計の定義
|
|
102
111
|
|
|
@@ -29,9 +29,11 @@ auto_execution_mode: 1
|
|
|
29
29
|
### 1. ドキュメント存在確認
|
|
30
30
|
|
|
31
31
|
- 必要なすべての設計ドキュメントが存在するか確認する:
|
|
32
|
+
|
|
32
33
|
```bash
|
|
33
34
|
ls -l docs/project/design/*.md
|
|
34
35
|
```
|
|
36
|
+
|
|
35
37
|
- 不足しているドキュメントがある場合、対応するワークフローの実行を促す。
|
|
36
38
|
|
|
37
39
|
### 2. 一貫性チェックの実行
|
|
@@ -39,22 +41,27 @@ auto_execution_mode: 1
|
|
|
39
41
|
以下の項目について、自動検索(grep等)と手動確認を組み合わせて検証する。
|
|
40
42
|
|
|
41
43
|
#### 2.1 テックスタック ↔ アーキテクチャ
|
|
44
|
+
|
|
42
45
|
- **整合性**: 選定された技術(01-tech-stack.md)がアーキテクチャ図(06-architecture.md)のコンポーネントと一致しているか。
|
|
43
46
|
- **ADR**: 重要な技術選定理由がADRとして記録されているか。
|
|
44
47
|
|
|
45
48
|
#### 2.2 データモデル ↔ ドメインモデル
|
|
49
|
+
|
|
46
50
|
- **カバレッジ**: ドメインモデルのAggregate(01-domain-model.md)がデータモデル(04-data-model.md)のエンティティとして定義されているか。
|
|
47
51
|
- **用語統一**: テーブル名やカラム名がユビキタス言語と一致しているか。
|
|
48
52
|
|
|
49
53
|
#### 2.3 API仕様 ↔ データモデル
|
|
54
|
+
|
|
50
55
|
- **リソース**: APIリソース(05-api-spec.md)がデータモデルのエンティティに基づいているか。
|
|
51
56
|
- **フィールド**: APIのレスポンスフィールドがデータモデルに存在するか。
|
|
52
57
|
|
|
53
58
|
#### 2.4 画面設計 ↔ API仕様
|
|
59
|
+
|
|
54
60
|
- **カバレッジ**: 画面(03-screen-design.md)で必要なデータ取得・操作がAPIエンドポイントとして定義されているか。
|
|
55
61
|
- **状態**: エラー状態やロード状態に対応するレスポンス仕様があるか。
|
|
56
62
|
|
|
57
63
|
#### 2.5 インフラ ↔ アーキテクチャ
|
|
64
|
+
|
|
58
65
|
- **構成**: インフラ構成(07-infrastructure.md)がアーキテクチャ図のコンポーネントを網羅しているか。
|
|
59
66
|
- **非機能要件**: 可用性やセキュリティ要件がインフラ設計に反映されているか。
|
|
60
67
|
|
|
@@ -63,6 +70,7 @@ auto_execution_mode: 1
|
|
|
63
70
|
- 検出された問題(Error/Warning)をまとめ、`docs/project/DESIGN-REVIEW-REPORT.md` を作成する。
|
|
64
71
|
|
|
65
72
|
**レポートフォーマット例**:
|
|
73
|
+
|
|
66
74
|
```markdown
|
|
67
75
|
# 設計ドキュメント一貫性レビュー結果
|
|
68
76
|
**実施日**: YYYY-MM-DD
|
|
@@ -103,6 +111,7 @@ auto_execution_mode: 1
|
|
|
103
111
|
### 5. Git への追加(オプション)
|
|
104
112
|
|
|
105
113
|
- ユーザーが希望する場合、レポートをコミットする。
|
|
114
|
+
|
|
106
115
|
```bash
|
|
107
116
|
git add docs/project/DESIGN-REVIEW-REPORT.md
|
|
108
117
|
git commit -m "docs: 設計整合性レビューレポートの作成"
|
|
@@ -119,4 +128,4 @@ auto_execution_mode: 1
|
|
|
119
128
|
- 致命的な不整合がある場合:
|
|
120
129
|
- 「データモデルとAPI仕様の間に大きな乖離があります。実装手戻りを防ぐため、設計の見直しを強く推奨します。」
|
|
121
130
|
- ドメインモデルとの乖離がある場合:
|
|
122
|
-
- 「設計がドメインモデルの意図を反映していません。ビジネスロジックの破綻につながる恐れがあります。」
|
|
131
|
+
- 「設計がドメインモデルの意図を反映していません。ビジネスロジックの破綻につながる恐れがあります。」
|
|
@@ -20,9 +20,11 @@ auto_execution_mode: 1
|
|
|
20
20
|
### 1. 既存タスクの確認とID採番
|
|
21
21
|
|
|
22
22
|
- 既存のタスクディレクトリを確認し、次のタスクIDを決定する。
|
|
23
|
+
|
|
23
24
|
```bash
|
|
24
25
|
ls -d docs/tasks/task*
|
|
25
26
|
```
|
|
27
|
+
|
|
26
28
|
- **採番ルール**:
|
|
27
29
|
- 形式: `task{6桁連番}-{スラッグ}`
|
|
28
30
|
- 例: `task000001-email-auth`
|
|
@@ -37,10 +39,13 @@ auto_execution_mode: 1
|
|
|
37
39
|
### 3. ディレクトリの作成
|
|
38
40
|
|
|
39
41
|
- 決定したIDとスラッグを使用してディレクトリを作成する。
|
|
42
|
+
|
|
40
43
|
```bash
|
|
41
44
|
mkdir -p docs/tasks/task{ID}-{SLUG}
|
|
42
45
|
```
|
|
46
|
+
|
|
43
47
|
例:
|
|
48
|
+
|
|
44
49
|
```bash
|
|
45
50
|
mkdir -p docs/tasks/task000001-email-auth
|
|
46
51
|
```
|
|
@@ -48,6 +53,7 @@ auto_execution_mode: 1
|
|
|
48
53
|
### 4. 作成確認
|
|
49
54
|
|
|
50
55
|
- ディレクトリが正しく作成されたか確認する。
|
|
56
|
+
|
|
51
57
|
```bash
|
|
52
58
|
ls -ld docs/tasks/task{ID}-{SLUG} && echo "OK" || echo "FAILED"
|
|
53
59
|
```
|
|
@@ -68,4 +74,4 @@ auto_execution_mode: 1
|
|
|
68
74
|
- `docs/tasks/` が見つからない場合:
|
|
69
75
|
- `mkdir -p docs/tasks` を実行するか、`SetupDocStructure` (a-001) の確認を促す。
|
|
70
76
|
- 命名規則違反:
|
|
71
|
-
- タスク名にスペースや特殊文字が含まれる場合、修正を求める。
|
|
77
|
+
- タスク名にスペースや特殊文字が含まれる場合、修正を求める。
|
|
@@ -21,10 +21,13 @@ description: ユーザーストーリーとインタビューからタスク定
|
|
|
21
21
|
### 1. タスクディレクトリとテンプレートの確認
|
|
22
22
|
|
|
23
23
|
1. タスク候補を一覧し、作業対象を特定する。
|
|
24
|
+
|
|
24
25
|
```bash
|
|
25
26
|
ls -d docs/tasks/task*
|
|
26
27
|
```
|
|
28
|
+
|
|
27
29
|
2. テンプレートが未配置の場合はコピーする。
|
|
30
|
+
|
|
28
31
|
```bash
|
|
29
32
|
cp ".windsurf/templates/tasks/task-template/a-definition.md" \
|
|
30
33
|
"docs/tasks/task{ID}-{SLUG}/a-definition.md"
|
|
@@ -85,6 +88,7 @@ grep "## 目的" docs/tasks/task{ID}-{SLUG}/a-definition.md \
|
|
|
85
88
|
```
|
|
86
89
|
|
|
87
90
|
チェックリスト:
|
|
91
|
+
|
|
88
92
|
- [ ] 目的に数値/Before-Afterが含まれている
|
|
89
93
|
- [ ] すべての重要なユーザーストーリーが列挙されている
|
|
90
94
|
- [ ] 変更箇所がファイル名やエンドポイント単位で特定されている
|
|
@@ -96,6 +100,7 @@ grep "## 目的" docs/tasks/task{ID}-{SLUG}/a-definition.md \
|
|
|
96
100
|
git add docs/tasks/task{ID}-{SLUG}/a-definition.md
|
|
97
101
|
git commit -m "docs(task): タスク定義書の作成 task{ID}"
|
|
98
102
|
```
|
|
103
|
+
|
|
99
104
|
- テンプレートに従い、以下を記載:
|
|
100
105
|
- **目的**(解決する問題、提供する価値)
|
|
101
106
|
- **ユーザーストーリー一覧**(ストーリーID、ストーリー)
|