yodogawa 2.0.0 → 2.1.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/CHANGELOG.md +39 -0
- package/README.md +60 -22
- package/bin/cli.js +3 -7
- package/package.json +1 -1
- package/skills/a-001-setup-doc-structure/SKILL.md +67 -100
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +52 -0
- package/skills/a-002-initialize-project/SKILL.md +124 -289
- package/skills/a-002-initialize-project/examples/nfr-baseline.md +38 -0
- package/skills/a-002-initialize-project/reference/hearing-questions.md +92 -0
- package/skills/a-002-initialize-project/reference/structure-check.md +48 -0
- package/skills/a-003-create-scenarios/SKILL.md +99 -142
- package/skills/a-003-create-scenarios/examples/gherkin-templates.md +71 -0
- package/skills/a-003-create-scenarios/reference/structure-check.md +46 -0
- package/skills/a-004-define-domain-model/SKILL.md +99 -144
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +71 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +94 -120
- package/skills/a-005-create-domain-diagram/examples/mermaid-templates.md +73 -0
- package/skills/a-005-create-domain-diagram/reference/structure-check.md +43 -0
- package/skills/a-006-review-requirements-domain/SKILL.md +85 -144
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +58 -0
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +60 -0
- package/skills/a-007-define-tech-stack/SKILL.md +102 -130
- package/skills/a-007-define-tech-stack/examples/stack-interview.md +83 -0
- package/skills/a-007-define-tech-stack/reference/structure-check.md +51 -0
- package/skills/a-008-define-repository-structure/SKILL.md +99 -129
- package/skills/a-008-define-repository-structure/examples/structure-templates.md +108 -0
- package/skills/a-008-define-repository-structure/reference/structure-check.md +55 -0
- package/skills/a-009-define-screen-design/SKILL.md +106 -130
- package/skills/a-009-define-screen-design/examples/screen-templates.md +66 -0
- package/skills/a-009-define-screen-design/reference/structure-check.md +47 -0
- package/skills/a-010-define-design-system/SKILL.md +134 -212
- package/skills/a-010-define-design-system/examples/css-tokens.md +71 -0
- package/skills/a-010-define-design-system/reference/component-catalog.md +44 -0
- package/skills/a-011-define-data-model/SKILL.md +121 -134
- package/skills/a-011-define-data-model/examples/erd-templates.md +108 -0
- package/skills/a-011-define-data-model/reference/structure-check.md +56 -0
- package/skills/a-012-define-api-spec/SKILL.md +108 -132
- package/skills/a-012-define-api-spec/examples/api-templates.md +117 -0
- package/skills/a-012-define-api-spec/reference/structure-check.md +49 -0
- package/skills/a-013-define-architecture/SKILL.md +101 -128
- package/skills/a-013-define-architecture/examples/architecture-templates.md +98 -0
- package/skills/a-013-define-architecture/reference/structure-check.md +53 -0
- package/skills/a-014-define-infrastructure/SKILL.md +113 -130
- package/skills/a-014-define-infrastructure/examples/infrastructure-templates.md +97 -0
- package/skills/a-014-define-infrastructure/reference/structure-check.md +63 -0
- package/skills/a-015-review-design/SKILL.md +88 -140
- package/skills/a-015-review-design/examples/review-report-template.md +59 -0
- package/skills/a-015-review-design/reference/consistency-checks.md +47 -0
- package/skills/b-001-create-task-directory/SKILL.md +68 -78
- package/skills/b-001-create-task-directory/examples/naming-convention.md +39 -0
- package/skills/b-002-create-task-definition/SKILL.md +115 -172
- package/skills/b-002-create-task-definition/examples/hearing-and-criteria.md +49 -0
- package/skills/b-002-create-task-definition/reference/structure-check.md +42 -0
- package/skills/b-003-create-task-research/SKILL.md +130 -454
- package/skills/b-003-create-task-research/examples/research-tables.md +63 -0
- package/skills/b-003-create-task-research/reference/investigation-guide.md +106 -0
- package/skills/b-004-create-task-implementation/SKILL.md +97 -100
- package/skills/b-004-create-task-implementation/examples/phase-step-template.md +57 -0
- package/skills/b-004-create-task-implementation/reference/structure-check.md +34 -0
- package/skills/b-005-review-task/SKILL.md +117 -324
- package/skills/b-005-review-task/examples/review-report-template.md +62 -0
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -0
- package/skills/b-005-review-task/reference/consistency-checks.md +69 -0
- package/skills/c-001-implement-task/SKILL.md +186 -521
- package/skills/c-001-implement-task/examples/commit-and-pr.md +92 -0
- package/skills/c-001-implement-task/examples/task-list-format.md +50 -0
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -0
- package/skills/c-001-implement-task/reference/validation-loop.md +66 -0
- package/skills/c-002-update-documentation/SKILL.md +159 -853
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +190 -0
- package/skills/c-002-update-documentation/examples/task-doc-updates.md +102 -0
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +100 -0
- package/templates/tasks/task-template/a-definition.md +1 -1
- package/templates/tasks/task-template/b-research.md +1 -1
- package/templates/tasks/task-template/c-implementation.md +2 -2
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Event Storming ガイド
|
|
2
|
+
|
|
3
|
+
SKILL.md 手順3〜6で使うドメインモデル定義の観点集。
|
|
4
|
+
|
|
5
|
+
## Bounded Context の特定
|
|
6
|
+
|
|
7
|
+
シナリオとユーザーストーリーを分析し、ビジネス領域を特定。
|
|
8
|
+
|
|
9
|
+
- **戦略的分類**:
|
|
10
|
+
- **Core**: ビジネスの中核的な競争優位を生む領域
|
|
11
|
+
- **Supporting**: Core を支援する領域
|
|
12
|
+
- **Generic**: 汎用的に解決できる領域(既製ソリューション候補)
|
|
13
|
+
|
|
14
|
+
## 各 Context の定義項目
|
|
15
|
+
|
|
16
|
+
### 概要とアクター
|
|
17
|
+
|
|
18
|
+
- Context の責務と主要な責任
|
|
19
|
+
- 登場するアクター(Actors)とその役割
|
|
20
|
+
|
|
21
|
+
### コマンドとイベント(Event Storming)
|
|
22
|
+
|
|
23
|
+
- **Commands**: アクターが実行するアクション(命令形、例: `RegisterUser`)
|
|
24
|
+
- **Domain Events**: 結果として発生するビジネス上の出来事(過去形、例: `UserRegistered`)
|
|
25
|
+
- **Policies**: 自動化ルール(`Whenever X, then Y` 形式)
|
|
26
|
+
|
|
27
|
+
### 集約とモデル
|
|
28
|
+
|
|
29
|
+
- **Aggregates**: 一貫性を保つエンティティの塊
|
|
30
|
+
- **Read Models**: 画面表示用の参照モデル
|
|
31
|
+
- **External Systems**: 連携する外部システム
|
|
32
|
+
|
|
33
|
+
## ユビキタス言語の洗練観点
|
|
34
|
+
|
|
35
|
+
- 用語の重複や曖昧さがないか
|
|
36
|
+
- 禁止用語(`Data`, `Process` など曖昧な語)が含まれていないか
|
|
37
|
+
- 定義が具体的で Context 内での意味に限定されているか
|
|
38
|
+
|
|
39
|
+
## Context Map の関係性
|
|
40
|
+
|
|
41
|
+
- **Customer-Supplier**: 上流/下流の依存関係
|
|
42
|
+
- **Shared Kernel**: 共有される小さなモデル
|
|
43
|
+
- **Anticorruption Layer**: 外部モデルの変換層
|
|
44
|
+
- **Conformist**: 上流に従う
|
|
45
|
+
- **Partnership**: 相互協調
|
|
46
|
+
|
|
47
|
+
## レビュー観点
|
|
48
|
+
|
|
49
|
+
- ビジネス用語は正確に表現されているか
|
|
50
|
+
- Aggregate の境界は適切か
|
|
51
|
+
- ユビキタス言語の定義は明確か
|
|
52
|
+
|
|
53
|
+
## 構造確認コマンド
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
grep "Bounded Context:" docs/project/domain/01-domain-model.md \
|
|
57
|
+
&& echo "OK" || echo "MISSING: Bounded Context definition"
|
|
58
|
+
grep "### Aggregates" docs/project/domain/01-domain-model.md \
|
|
59
|
+
&& echo "OK" || echo "MISSING: Aggregates section"
|
|
60
|
+
grep "| 用語 | 定義 |" docs/project/domain/02-ubiquitous-language.md \
|
|
61
|
+
&& echo "OK" || echo "MISSING: Terminology table"
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Git コミットメッセージ
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
docs: ドメインモデルとユビキタス言語の定義
|
|
68
|
+
|
|
69
|
+
- Event Stormingによるドメインモデルの作成
|
|
70
|
+
- Bounded Contextごとのユビキタス言語の整備
|
|
71
|
+
```
|
|
@@ -1,120 +1,94 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a-005-create-domain-diagram
|
|
3
|
-
description: ドメインモデルをMermaid
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
git status
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
- 推奨コミットメッセージ:
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
docs: ドメインモデル図(Context Map)の追加
|
|
102
|
-
|
|
103
|
-
- Bounded Context間の関係をMermaid図で視覚化
|
|
104
|
-
- 戦略的分類に基づく色分けを追加
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
## 完了条件
|
|
108
|
-
|
|
109
|
-
- `docs/project/domain/01-domain-model.md` にContext Map図が追加されている。
|
|
110
|
-
- Bounded Context間の関係性が正しく表現されている。
|
|
111
|
-
- 戦略的分類が視覚的に区別されている。
|
|
112
|
-
- オプションの詳細図(Aggregate図、シーケンス図)が必要に応じて追加されている。
|
|
113
|
-
- ユーザーが図の内容を承認している。
|
|
114
|
-
|
|
115
|
-
## エスカレーション
|
|
116
|
-
|
|
117
|
-
- ドメインモデルが不完全で図を作成できない場合:
|
|
118
|
-
- 「必要な情報(関係性など)が不足しています。`DefineDomainModel` (a-004) に戻って定義を補完しましょう。」と提案する。
|
|
119
|
-
- 図が複雑すぎて読みにくい場合:
|
|
120
|
-
- 「関係が複雑すぎます。主要な関係のみに絞るか、図を分割することを検討しましょう。」と提案する。
|
|
1
|
+
---
|
|
2
|
+
name: a-005-create-domain-diagram
|
|
3
|
+
description: ドメインモデルを Mermaid 図(Context Map・Aggregate 構造)として可視化する。ドメインモデル定義後、関係性を図で確認する際に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# CreateDomainDiagram (a-005)
|
|
9
|
+
|
|
10
|
+
## 目的
|
|
11
|
+
|
|
12
|
+
- ドメインモデルドキュメント(`01-domain-model.md`)を基に、視覚的なダイアグラムを作成する。
|
|
13
|
+
- Context Map(Bounded Context 間の関係図)を Mermaid 形式で図示する。
|
|
14
|
+
- 各 Bounded Context 内の Aggregate 構造や関係性を図示する(オプション)。
|
|
15
|
+
|
|
16
|
+
## 前提
|
|
17
|
+
|
|
18
|
+
- `docs/project/domain/01-domain-model.md` が作成されていること(`/a-004-define-domain-model` 実行済み)。
|
|
19
|
+
- ドメインモデルドキュメントに Bounded Context の一覧と関係性が記述されていること。
|
|
20
|
+
|
|
21
|
+
## 手順
|
|
22
|
+
|
|
23
|
+
### 1. ドキュメントの確認
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
ls -la docs/project/domain/01-domain-model.md 2>/dev/null || echo "ファイルが存在しません"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
未作成の場合、`/a-004-define-domain-model` の実行を促す。
|
|
30
|
+
|
|
31
|
+
### 2. Context Map の情報収集と提案
|
|
32
|
+
|
|
33
|
+
`docs/project/domain/01-domain-model.md` から以下を抽出し、構成案を提示する:
|
|
34
|
+
|
|
35
|
+
- Bounded Context のリスト
|
|
36
|
+
- 戦略的分類(Core / Supporting / Generic)
|
|
37
|
+
- Context 間の関係性と通信方法
|
|
38
|
+
|
|
39
|
+
### 3. Context Map 図の作成
|
|
40
|
+
|
|
41
|
+
`## Context Map` セクションに Mermaid 図を追加する。スタイル定義と記述テンプレートは [examples/mermaid-templates.md](examples/mermaid-templates.md#context-mapbounded-context-間の関係) を参照。
|
|
42
|
+
|
|
43
|
+
- Core Domain: 金色、Supporting: 水色、Generic: グレー
|
|
44
|
+
- エッジラベルに関係パターン(Customer/Supplier、ACL 等)と通信方法を記載
|
|
45
|
+
|
|
46
|
+
### 4. 詳細図の作成(オプション)
|
|
47
|
+
|
|
48
|
+
ユーザー確認の上、以下を追加作成する:
|
|
49
|
+
|
|
50
|
+
- **Aggregate 構造図**: クラス図形式。Aggregate 内部の Entity/Value Object と関係を表現。
|
|
51
|
+
- **イベントフロー図**: シーケンス図形式。主要ビジネスフロー(Command → Event → Policy)を表現。
|
|
52
|
+
|
|
53
|
+
テンプレートは [examples/mermaid-templates.md](examples/mermaid-templates.md#aggregate-構造図クラス図形式) を参照。
|
|
54
|
+
|
|
55
|
+
### 5. レビューと確認
|
|
56
|
+
|
|
57
|
+
作成した図を提示し、関係性の正確性、色分けの適切性、読みやすさを確認する。質問例は [reference/structure-check.md](reference/structure-check.md#レビュー確認質問) を参照。フィードバックに応じてレイアウト(TD/LR)や配置を調整する。
|
|
58
|
+
|
|
59
|
+
### 6. 構造チェック
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
grep "\`\`\`mermaid" docs/project/domain/01-domain-model.md \
|
|
63
|
+
&& grep "## Context Map" docs/project/domain/01-domain-model.md \
|
|
64
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
68
|
+
|
|
69
|
+
### 7. Git への追加(任意)
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
git add docs/project/domain/01-domain-model.md
|
|
73
|
+
git commit -m "docs: ドメインモデル図(Context Map)の追加"
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
詳細は [reference/structure-check.md](reference/structure-check.md#git-への追加任意) を参照。
|
|
77
|
+
|
|
78
|
+
## 完了条件
|
|
79
|
+
|
|
80
|
+
- `docs/project/domain/01-domain-model.md` に Context Map 図が追加されている。
|
|
81
|
+
- Bounded Context 間の関係性が正しく表現されている。
|
|
82
|
+
- 戦略的分類が視覚的に区別されている。
|
|
83
|
+
- オプションの詳細図(Aggregate 図、シーケンス図)が必要に応じて追加されている。
|
|
84
|
+
- ユーザーが図の内容を承認している。
|
|
85
|
+
|
|
86
|
+
## エスカレーション
|
|
87
|
+
|
|
88
|
+
- **ドメインモデルが不完全で図を作成できない**: 「`/a-004-define-domain-model` に戻って定義を補完しましょう。」
|
|
89
|
+
- **図が複雑すぎて読みにくい**: 「主要な関係のみに絞るか、図を分割することを検討しましょう。」
|
|
90
|
+
|
|
91
|
+
## 参考
|
|
92
|
+
|
|
93
|
+
- [examples/mermaid-templates.md](examples/mermaid-templates.md) — Context Map / Aggregate / シーケンス図の Mermaid テンプレート、スタイル定義、エッジラベル例
|
|
94
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、レビュー質問、Git 追加例
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Mermaid 図のテンプレート集
|
|
2
|
+
|
|
3
|
+
SKILL.md 手順3〜4 で使用する Mermaid 記述例。
|
|
4
|
+
|
|
5
|
+
## Context Map(Bounded Context 間の関係)
|
|
6
|
+
|
|
7
|
+
```mermaid
|
|
8
|
+
flowchart LR
|
|
9
|
+
Order[Order Context]:::core
|
|
10
|
+
Customer[Customer Context]:::supporting
|
|
11
|
+
Payment[Payment Context]:::generic
|
|
12
|
+
|
|
13
|
+
Order -->|Customer/Supplier| Customer
|
|
14
|
+
Order -->|Published Language| Payment
|
|
15
|
+
|
|
16
|
+
classDef core fill:#FFD700,stroke:#333,stroke-width:2px;
|
|
17
|
+
classDef supporting fill:#87CEEB,stroke:#333,stroke-width:1px;
|
|
18
|
+
classDef generic fill:#D3D3D3,stroke:#333,stroke-width:1px;
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
### スタイル定義
|
|
22
|
+
|
|
23
|
+
- Core Domain: 金色 `fill:#FFD700`
|
|
24
|
+
- Supporting Domain: 水色 `fill:#87CEEB`
|
|
25
|
+
- Generic Domain: グレー `fill:#D3D3D3`
|
|
26
|
+
|
|
27
|
+
### エッジ(関係)のラベル例
|
|
28
|
+
|
|
29
|
+
- `-->|Customer/Supplier|`
|
|
30
|
+
- `-->|Conformist|`
|
|
31
|
+
- `-->|Published Language|`
|
|
32
|
+
- `-->|Anti-Corruption Layer|`
|
|
33
|
+
- `-->|Shared Kernel|`
|
|
34
|
+
|
|
35
|
+
## Aggregate 構造図(クラス図形式)
|
|
36
|
+
|
|
37
|
+
```mermaid
|
|
38
|
+
classDiagram
|
|
39
|
+
class Order {
|
|
40
|
+
+OrderId id
|
|
41
|
+
+CustomerId customerId
|
|
42
|
+
+OrderStatus status
|
|
43
|
+
+place()
|
|
44
|
+
+cancel()
|
|
45
|
+
}
|
|
46
|
+
class OrderItem {
|
|
47
|
+
+ProductId productId
|
|
48
|
+
+int quantity
|
|
49
|
+
}
|
|
50
|
+
Order "1" *-- "N" OrderItem : contains
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## イベントフロー図(シーケンス図形式)
|
|
54
|
+
|
|
55
|
+
```mermaid
|
|
56
|
+
sequenceDiagram
|
|
57
|
+
participant U as User
|
|
58
|
+
participant O as OrderAggregate
|
|
59
|
+
participant P as PaymentPolicy
|
|
60
|
+
|
|
61
|
+
U->>O: PlaceOrder (Command)
|
|
62
|
+
O-->>P: OrderPlaced (Event)
|
|
63
|
+
P->>P: trigger ProcessPayment
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## コミットメッセージ例
|
|
67
|
+
|
|
68
|
+
```text
|
|
69
|
+
docs: ドメインモデル図(Context Map)の追加
|
|
70
|
+
|
|
71
|
+
- Bounded Context 間の関係を Mermaid 図で視覚化
|
|
72
|
+
- 戦略的分類に基づく色分けを追加
|
|
73
|
+
```
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# 構造チェックとレビュー観点
|
|
2
|
+
|
|
3
|
+
SKILL.md 手順5〜7 で使用する確認コマンドとレビュー観点。
|
|
4
|
+
|
|
5
|
+
## セクション存在確認
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Mermaid ブロックの存在確認
|
|
9
|
+
grep "\`\`\`mermaid" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Mermaid diagram"
|
|
10
|
+
# Context Map セクションの確認
|
|
11
|
+
grep "## Context Map" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Context Map section"
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## チェックリスト
|
|
15
|
+
|
|
16
|
+
- [ ] `docs/project/domain/01-domain-model.md` に Context Map 図が含まれている
|
|
17
|
+
- [ ] Mermaid 図が正しくレンダリングされる(構文エラーがない)
|
|
18
|
+
- [ ] 戦略的分類に応じて色分けされている(Core / Supporting / Generic)
|
|
19
|
+
- [ ] 関係パターン(Customer/Supplier など)と通信方法がエッジに記載されている
|
|
20
|
+
- [ ] 必要に応じて Aggregate 図やシーケンス図が追加されている
|
|
21
|
+
|
|
22
|
+
## レビュー確認質問
|
|
23
|
+
|
|
24
|
+
- 「関係性は正しく表現されていますか?」
|
|
25
|
+
- 「分類の色分けは適切ですか?」
|
|
26
|
+
- 「複雑すぎて読みにくい箇所はありませんか?」
|
|
27
|
+
- 「主要なユースケース(Command → Event)が追えますか?」
|
|
28
|
+
|
|
29
|
+
## Git への追加(任意)
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
git add docs/project/domain/01-domain-model.md
|
|
33
|
+
git status
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
推奨コミットメッセージ:
|
|
37
|
+
|
|
38
|
+
```text
|
|
39
|
+
docs: ドメインモデル図(Context Map)の追加
|
|
40
|
+
|
|
41
|
+
- Bounded Context 間の関係を Mermaid 図で視覚化
|
|
42
|
+
- 戦略的分類に基づく色分けを追加
|
|
43
|
+
```
|
|
@@ -1,144 +1,85 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a-006-review-requirements-domain
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
```markdown
|
|
87
|
-
# ドキュメント一貫性レビュー結果
|
|
88
|
-
**実施日**: YYYY-MM-DD
|
|
89
|
-
|
|
90
|
-
## サマリー
|
|
91
|
-
- ✅ OK: X項目
|
|
92
|
-
- ⚠️ Warning: X項目
|
|
93
|
-
- ❌ Error: X項目
|
|
94
|
-
|
|
95
|
-
## 詳細
|
|
96
|
-
|
|
97
|
-
### 1. ユーザーストーリー ↔ シナリオ
|
|
98
|
-
- ❌ **Error**: US-005 に対応するシナリオが見つかりません。
|
|
99
|
-
- ✅ OK: 優先度Highのストーリーはすべてカバーされています。
|
|
100
|
-
|
|
101
|
-
### 2. 機能要件・非機能要件
|
|
102
|
-
- ⚠️ **Warning**: 実装済み機能「決済」のシナリオが不足しています。
|
|
103
|
-
- ✅ OK: パフォーマンス要件に対応するRead Modelが定義されています。
|
|
104
|
-
|
|
105
|
-
### 3. シナリオ ↔ ドメインモデル
|
|
106
|
-
- ⚠️ **Warning**: シナリオSC-003のCommand「在庫を引き当てる」がドメインモデルに未定義です。
|
|
107
|
-
|
|
108
|
-
### 4. ユビキタス言語
|
|
109
|
-
- ❌ **Error**: 用語「ShippingAddress」がユビキタス言語一覧にありません。
|
|
110
|
-
- ⚠️ **Warning**: 禁止用語「User Data」が `01-domain-model.md` で使用されています。
|
|
111
|
-
|
|
112
|
-
## 推奨アクション
|
|
113
|
-
1. `CreateScenarios` (a-003) で US-005 のシナリオを追加する。
|
|
114
|
-
2. `DefineDomainModel` (a-004) で「在庫を引き当てる」コマンドを定義する。
|
|
115
|
-
3. `01-domain-model.md` の「User Data」を「User Profile」に修正する。
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### 4. 結果の報告と修正提案
|
|
119
|
-
|
|
120
|
-
- ユーザーにレポートの内容を要約して伝える。
|
|
121
|
-
- 重大なエラー(❌)がある場合は、優先的に修正することを提案する。
|
|
122
|
-
- 「修正作業を開始しますか?それともレポートをGitに保存して終了しますか?」
|
|
123
|
-
|
|
124
|
-
### 5. Git への追加(オプション)
|
|
125
|
-
|
|
126
|
-
- ユーザーが希望する場合、レポートをコミットする。
|
|
127
|
-
|
|
128
|
-
```bash
|
|
129
|
-
git add docs/project/REVIEW-REPORT--YYYYMMDDHHMMSS.md
|
|
130
|
-
git commit -m "docs: 要件・ドメイン整合性レビューレポートの作成"
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
## 完了条件
|
|
134
|
-
|
|
135
|
-
- `docs/project/REVIEW-REPORT.md` が作成されている。
|
|
136
|
-
- 全ドキュメント間の整合性がチェックされ、結果(OK/Warning/Error)が記録されている。
|
|
137
|
-
- 具体的な修正アクションが提案されている。
|
|
138
|
-
|
|
139
|
-
## エスカレーション
|
|
140
|
-
|
|
141
|
-
- 多数のエラーが検出された場合:
|
|
142
|
-
- 「不整合が多いため、ドキュメントの信頼性が低くなっています。関係者を集めて大規模なレビュー会議を行うことを推奨します。」
|
|
143
|
-
- 重要機能(Core Domain)で不整合がある場合:
|
|
144
|
-
- 「Core Domainにおける不整合はリスクが高いです。実装前に必ず解消してください。」
|
|
1
|
+
---
|
|
2
|
+
name: a-006-review-requirements-domain
|
|
3
|
+
description: 要件定義・シナリオ・ドメインモデル間の一貫性を検証し、不整合や抜け漏れを検出する。ドメイン設計完了後、技術選定フェーズへ移る前の検査として使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
context: fork
|
|
6
|
+
allowed-tools: Read, Grep, Glob, Write, Bash
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# ReviewRequirementsDomain (a-006)
|
|
10
|
+
|
|
11
|
+
## 目的
|
|
12
|
+
|
|
13
|
+
- ここまでに作成されたすべてのドキュメント間の一貫性を体系的にチェックする。
|
|
14
|
+
- ドキュメント間の不整合、漏れ、矛盾を検出し、修正提案を提供する。
|
|
15
|
+
- ユビキタス言語の遵守状況を確認し、用語の一貫性を保証する。
|
|
16
|
+
- レビュー結果レポートを作成し、修正すべき項目を優先度付きでリストアップする。
|
|
17
|
+
|
|
18
|
+
## 前提
|
|
19
|
+
|
|
20
|
+
以下のドキュメントが作成されていること:
|
|
21
|
+
|
|
22
|
+
- `docs/project/requirements/01-system-overview.md` 〜 `05-user-stories.md`
|
|
23
|
+
- `docs/project/behavior/01-scenarios.md`
|
|
24
|
+
- `docs/project/domain/01-domain-model.md`, `02-ubiquitous-language.md`
|
|
25
|
+
|
|
26
|
+
## 手順
|
|
27
|
+
|
|
28
|
+
### 1. ドキュメント存在確認
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
ls -l docs/project/requirements/*.md docs/project/behavior/*.md docs/project/domain/*.md
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
不足があれば、対応する `/a-002`, `/a-003`, `/a-004` スキルの実行を促す。
|
|
35
|
+
|
|
36
|
+
### 2. 一貫性チェックの実行
|
|
37
|
+
|
|
38
|
+
以下の 6 観点を自動検索(grep 等)と手動確認で検証する。詳細な観点・コマンドは [reference/consistency-checks.md](reference/consistency-checks.md) を参照。
|
|
39
|
+
|
|
40
|
+
- **2.1 ユーザーストーリー ↔ シナリオ**: US-XXX に対応する SC-XXX の存在、価値と結果の整合
|
|
41
|
+
- **2.2 実装済み/予定機能 ↔ シナリオ**: リグレッション用/優先度 High のカバレッジ
|
|
42
|
+
- **2.3 非機能要件 ↔ ドメインモデル**: 性能要件(Read Model)、セキュリティ(Policy/Guard)
|
|
43
|
+
- **2.4 シナリオ ↔ ドメインモデル**: Command / Event / Actor の対応
|
|
44
|
+
- **2.5 ユビキタス言語**: 主要要素の登録、禁止用語の検出
|
|
45
|
+
- **2.6 目的との整合性**: システム目的と Core Domain の一致
|
|
46
|
+
|
|
47
|
+
### 3. レビュー結果レポートの作成
|
|
48
|
+
|
|
49
|
+
検出された問題(Error / Warning / OK)をまとめ、`docs/project/REVIEW-REPORT-YYYYMMDDHHMMSS.md` を作成する。フォーマットは [examples/review-report-template.md](examples/review-report-template.md#レポートフォーマット) を参照。
|
|
50
|
+
|
|
51
|
+
必須セクション:
|
|
52
|
+
|
|
53
|
+
- サマリー(OK / Warning / Error の件数)
|
|
54
|
+
- 詳細(上記 6 観点ごとの結果)
|
|
55
|
+
- 推奨アクション(修正すべきタスクとスキル参照)
|
|
56
|
+
|
|
57
|
+
### 4. 結果の報告と修正提案
|
|
58
|
+
|
|
59
|
+
- レポート内容を要約してユーザーに伝える。
|
|
60
|
+
- 重大なエラー(Error)がある場合は優先修正を提案。
|
|
61
|
+
- 「修正作業を開始しますか?それともレポートを Git に保存して終了しますか?」
|
|
62
|
+
|
|
63
|
+
### 5. Git への追加(任意)
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
git add docs/project/REVIEW-REPORT-*.md
|
|
67
|
+
git commit -m "docs: 要件・ドメイン整合性レビューレポートの作成"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## 完了条件
|
|
71
|
+
|
|
72
|
+
- `docs/project/REVIEW-REPORT-YYYYMMDDHHMMSS.md` が作成されている。
|
|
73
|
+
- 全ドキュメント間の整合性がチェックされ、結果(OK/Warning/Error)が記録されている。
|
|
74
|
+
- 具体的な修正アクションが提案されている。
|
|
75
|
+
|
|
76
|
+
## エスカレーション
|
|
77
|
+
|
|
78
|
+
- **多数のエラーが検出された**: 「不整合が多くドキュメント信頼性が低下しています。関係者を集めた大規模レビュー会議を推奨します。」
|
|
79
|
+
- **Core Domain で不整合**: 「Core Domain における不整合はリスクが高いです。実装前に必ず解消してください。」
|
|
80
|
+
- 判断材料の詳細は [reference/consistency-checks.md](reference/consistency-checks.md#エスカレーションの判断材料) を参照。
|
|
81
|
+
|
|
82
|
+
## 参考
|
|
83
|
+
|
|
84
|
+
- [examples/review-report-template.md](examples/review-report-template.md) — レビュー結果レポートのフォーマット例と重大度記号
|
|
85
|
+
- [reference/consistency-checks.md](reference/consistency-checks.md) — 6 観点の詳細なチェック項目、grep コマンド例、エスカレーション基準
|