yodogawa 2.1.3 → 2.3.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 +140 -94
- package/LICENSE +1 -1
- package/README.md +362 -263
- package/bin/checks/id-trace.js +137 -0
- package/bin/checks/links.js +59 -0
- package/bin/checks/placeholder.js +132 -0
- package/bin/checks/structure.js +127 -0
- package/bin/cli.js +51 -67
- package/bin/commands/doctor.js +128 -0
- package/bin/commands/install.js +58 -0
- package/bin/commands/new-task.js +117 -0
- package/bin/lib/check-cli.js +19 -0
- package/bin/lib/findings.js +31 -0
- package/bin/lib/markdown.js +103 -0
- package/bin/lib/project-spec.js +138 -0
- package/bin/lib/walk-md.js +23 -0
- package/package.json +68 -55
- package/skills/a-001-setup-doc-structure/SKILL.md +68 -68
- package/skills/a-001-setup-doc-structure/reference/directory-structure.md +75 -75
- package/skills/a-002-initialize-project/SKILL.md +145 -118
- package/skills/a-002-initialize-project/reference/hearing-questions.md +91 -41
- package/skills/a-002-initialize-project/reference/structure-check.md +12 -22
- package/skills/a-002a-slice-mvp-scope/SKILL.md +105 -0
- package/skills/a-002b-define-user-stories/SKILL.md +80 -0
- package/skills/a-002b-define-user-stories/reference/user-stories-guide.md +78 -0
- package/skills/a-003-create-scenarios/SKILL.md +97 -96
- package/{templates/project/02-behavior/01-scenarios.md → skills/a-003-create-scenarios/reference/detailed-gherkin-template.md} +413 -406
- package/skills/a-003-create-scenarios/reference/structure-check.md +20 -17
- package/skills/a-004-define-domain-model/SKILL.md +107 -98
- package/skills/a-004-define-domain-model/reference/event-storming-guide.md +33 -7
- package/skills/a-004-define-domain-model/reference/ubiquitous-language-guide.md +49 -0
- package/skills/a-005-create-domain-diagram/SKILL.md +18 -17
- package/skills/a-006-review-requirements-domain/SKILL.md +79 -29
- package/skills/a-006-review-requirements-domain/examples/review-report-template.md +40 -25
- package/skills/a-006-review-requirements-domain/reference/consistency-checks.md +67 -24
- package/skills/a-007-define-tech-stack/SKILL.md +99 -99
- package/skills/a-008-define-repository-structure/SKILL.md +96 -96
- package/skills/a-009-define-screen-design/SKILL.md +103 -103
- package/skills/a-010-define-design-system/SKILL.md +130 -130
- package/skills/a-011-define-data-model/SKILL.md +118 -118
- package/skills/a-012-define-api-spec/SKILL.md +105 -105
- package/skills/a-013-define-architecture/SKILL.md +98 -98
- package/skills/a-014-define-infrastructure/SKILL.md +118 -110
- package/skills/{a-002-initialize-project → a-014-define-infrastructure}/examples/nfr-baseline.md +2 -1
- package/{templates/project/01-requirements/04-non-functional-requirements.md → skills/a-014-define-infrastructure/examples/non-functional-requirements.md} +120 -115
- package/skills/a-015-review-design/SKILL.md +15 -11
- package/skills/a-015-review-design/examples/review-report-template.md +17 -29
- package/skills/a-015-review-design/reference/consistency-checks.md +5 -3
- package/skills/b-001-create-task-directory/SKILL.md +68 -68
- package/skills/b-002-create-task-definition/SKILL.md +114 -114
- package/skills/b-003-create-task-research/SKILL.md +130 -128
- package/skills/b-004-create-task-implementation/SKILL.md +98 -98
- package/skills/b-005-review-task/SKILL.md +40 -24
- package/skills/b-005-review-task/examples/review-report-template.md +25 -35
- package/skills/b-005-review-task/reference/assessment-criteria.md +79 -79
- package/skills/b-005-review-task/reference/consistency-checks.md +70 -11
- package/skills/c-001-implement-task/SKILL.md +186 -186
- package/skills/c-001-implement-task/reference/implementation-loop.md +65 -65
- package/skills/c-002-update-documentation/SKILL.md +159 -159
- package/skills/c-002-update-documentation/examples/project-doc-updates.md +4 -4
- package/skills/c-002-update-documentation/reference/doc-structure-and-checks.md +99 -97
- package/skills/d-001-review-retrospective/SKILL.md +93 -0
- package/skills/d-001-review-retrospective/examples/retrospective-report-template.md +50 -0
- package/skills/d-001-review-retrospective/reference/friction-point-mapping.md +30 -0
- package/templates/LESSONS.md +15 -0
- package/templates/project/01-requirements/01-product-brief.md +186 -0
- package/templates/project/01-requirements/02-mvp-scope.md +64 -0
- package/templates/project/01-requirements/03-parking-lot.md +29 -0
- package/templates/project/01-requirements/05-user-stories.md +28 -124
- package/templates/project/01-requirements/{02-features-implemented.md → 06-features-implemented.md} +77 -73
- package/templates/project/02-behavior/01-core-scenarios.md +80 -0
- package/templates/project/03-domain/01-domain-model.md +120 -339
- package/templates/project/03-domain/01-domain-sketch.md +90 -0
- package/templates/project/03-domain/02-ubiquitous-language.md +32 -153
- package/templates/project/04-design/01-tech-stack.md +367 -367
- package/templates/project/04-design/02-repository-structure.md +391 -391
- package/templates/project/04-design/03-screen-design.md +596 -596
- package/templates/project/04-design/04-design-system.md +261 -261
- package/templates/project/04-design/05-data-model.md +211 -211
- package/templates/project/04-design/06-api-spec.md +226 -226
- package/templates/project/04-design/07-architecture.md +183 -183
- package/templates/project/04-design/08-infrastructure.md +180 -180
- package/templates/project/AI_CONTEXT.md +55 -0
- package/templates/project/STAKEHOLDER-SUMMARY.md +66 -0
- package/templates/tasks/task-template/a-definition.md +143 -143
- package/templates/tasks/task-template/b-research.md +185 -185
- package/templates/tasks/task-template/c-implementation.md +200 -200
- package/templates/project/01-requirements/01-system-overview.md +0 -49
- package/templates/project/01-requirements/03-features-planned.md +0 -75
|
@@ -1,110 +1,118 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: a-014-define-infrastructure
|
|
3
|
-
description: アーキテクチャ設計を基にインフラ構成図・環境構成・運用方針を定義する。アーキテクチャ確定後、デプロイ/運用環境を設計する際に使用。
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# DefineInfrastructure (a-014)
|
|
9
|
-
|
|
10
|
-
## 目的
|
|
11
|
-
|
|
12
|
-
- 技術スタックとアーキテクチャ設計を基に、インフラ構成を定義する。
|
|
13
|
-
- クラウドリソース、ネットワーク、セキュリティ、監視を含む全体構成を可視化する。
|
|
14
|
-
- 環境ごとの構成(開発、ステージング、本番)を明確化する。
|
|
15
|
-
- 高可用性、冗長化、スケーラビリティ、セキュリティの方針を定義する。
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- `docs/project/04-design/
|
|
21
|
-
- `docs/project/04-design
|
|
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
|
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
-
|
|
104
|
-
-
|
|
105
|
-
-
|
|
106
|
-
|
|
107
|
-
##
|
|
108
|
-
|
|
109
|
-
-
|
|
110
|
-
-
|
|
1
|
+
---
|
|
2
|
+
name: a-014-define-infrastructure
|
|
3
|
+
description: アーキテクチャ設計を基にインフラ構成図・環境構成・運用方針を定義する。アーキテクチャ確定後、デプロイ/運用環境を設計する際に使用。
|
|
4
|
+
disable-model-invocation: true
|
|
5
|
+
allowed-tools: Read, Write, Edit, Bash, Grep, Glob
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# DefineInfrastructure (a-014)
|
|
9
|
+
|
|
10
|
+
## 目的
|
|
11
|
+
|
|
12
|
+
- 技術スタックとアーキテクチャ設計を基に、インフラ構成を定義する。
|
|
13
|
+
- クラウドリソース、ネットワーク、セキュリティ、監視を含む全体構成を可視化する。
|
|
14
|
+
- 環境ごとの構成(開発、ステージング、本番)を明確化する。
|
|
15
|
+
- 高可用性、冗長化、スケーラビリティ、セキュリティの方針を定義する。
|
|
16
|
+
- Product Brief の「クリティカル制約」を起点に、初期フェーズで保留した**詳細な非機能要件(応答時間・稼働率・スケーラビリティ・RPO/RTO 等の定量値)を本フェーズで定量化・所有する**。
|
|
17
|
+
|
|
18
|
+
## 前提
|
|
19
|
+
|
|
20
|
+
- `docs/project/04-design/01-tech-stack.md` が作成されていること(デプロイ環境、インフラ技術選定済み)。
|
|
21
|
+
- `docs/project/04-design/07-architecture.md` が作成されていること(推奨)。
|
|
22
|
+
- `docs/project/01-requirements/01-product-brief.md` の「クリティカル制約」(詳細 NFR 定量化の起点)。
|
|
23
|
+
- `docs/project/04-design/` ディレクトリが存在すること。
|
|
24
|
+
|
|
25
|
+
## 手順
|
|
26
|
+
|
|
27
|
+
### 1. ドキュメントと前提条件の確認
|
|
28
|
+
|
|
29
|
+
以下を読み込む:
|
|
30
|
+
|
|
31
|
+
- `docs/project/04-design/01-tech-stack.md`
|
|
32
|
+
- `docs/project/04-design/07-architecture.md`
|
|
33
|
+
|
|
34
|
+
不足があれば対応スキルの実行を促す。
|
|
35
|
+
|
|
36
|
+
### 2. テンプレートの準備
|
|
37
|
+
|
|
38
|
+
このスキルの配置ディレクトリ(`skills/a-014-define-infrastructure/`)を起点に、相対パス `../../templates/project/04-design/08-infrastructure.md` を Read で読み込み、その内容を `docs/project/04-design/08-infrastructure.md` へ Write する。出力先が既に存在する場合は上書きせずスキップして報告する(冪等)。出力先ディレクトリ(`docs/project/04-design/`)が無ければ作成する。
|
|
39
|
+
|
|
40
|
+
### 3. インフラ構成の提案
|
|
41
|
+
|
|
42
|
+
技術スタックとアーキテクチャ図から必要なリソース(VPC, ALB, ECS/EC2, RDS 等)を抽出し、構成案を提示する。
|
|
43
|
+
|
|
44
|
+
- 「[Cloud Provider] 上に VPC + Public/Private Subnet 構成」
|
|
45
|
+
- 「DB は Managed Service(RDS 等)」
|
|
46
|
+
|
|
47
|
+
構成図のサンプルは [examples/infrastructure-templates.md](examples/infrastructure-templates.md#インフラ構成図mermaid) を参照。
|
|
48
|
+
|
|
49
|
+
### 4. 詳細定義(インタビュー)
|
|
50
|
+
|
|
51
|
+
#### 4.1 ネットワークとセキュリティ
|
|
52
|
+
|
|
53
|
+
VPC 構成、サブネット分割(Public/Private/Data)、セキュリティグループ、WAF、HTTPS 化。詳細は [examples/infrastructure-templates.md](examples/infrastructure-templates.md#ネットワークセキュリティ) を参照。
|
|
54
|
+
|
|
55
|
+
#### 4.2 コンピューティングとスケーリング
|
|
56
|
+
|
|
57
|
+
インスタンス種別・サイズ、Auto Scaling ポリシー(CPU 負荷等)、デプロイ戦略。
|
|
58
|
+
|
|
59
|
+
#### 4.3 データベースとストレージ
|
|
60
|
+
|
|
61
|
+
Multi-AZ 構成、リードレプリカ、バックアップ(頻度、保持期間)、PITR の有無。
|
|
62
|
+
|
|
63
|
+
#### 4.4 環境構成
|
|
64
|
+
|
|
65
|
+
開発/ステージング/本番環境の差異(リソースサイズ、冗長化、WAF など)。表形式のテンプレートは [examples/infrastructure-templates.md](examples/infrastructure-templates.md#環境構成表) を参照。
|
|
66
|
+
|
|
67
|
+
#### 4.5 詳細な非機能要件(定量化)
|
|
68
|
+
|
|
69
|
+
Product Brief の「クリティカル制約」を起点に、性能(応答時間・スループット)・可用性(稼働率・RPO/RTO)・スケーラビリティ・セキュリティ等を定量化する。初期フェーズでは保留していた定量値をここで確定する。テンプレートは [examples/non-functional-requirements.md](examples/non-functional-requirements.md)、特に指定が無い場合の標準提案値は [examples/nfr-baseline.md](examples/nfr-baseline.md) を参照。
|
|
70
|
+
|
|
71
|
+
### 5. ドキュメント作成
|
|
72
|
+
|
|
73
|
+
`docs/project/04-design/08-infrastructure.md` に以下を記入する:
|
|
74
|
+
|
|
75
|
+
- インフラ構成図(Mermaid)
|
|
76
|
+
- 環境構成表
|
|
77
|
+
- 運用方針(バックアップ、監視、セキュリティ)
|
|
78
|
+
|
|
79
|
+
運用方針の項目一覧は [examples/infrastructure-templates.md](examples/infrastructure-templates.md#運用方針の定義項目) を、非機能要件との対応表は [reference/structure-check.md](reference/structure-check.md#非機能要件との対応確認) を参照。
|
|
80
|
+
|
|
81
|
+
### 6. 構造チェック
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
grep "\`\`\`mermaid" docs/project/04-design/08-infrastructure.md \
|
|
85
|
+
&& grep "## 環境構成" docs/project/04-design/08-infrastructure.md \
|
|
86
|
+
&& grep "## 主要な運用方針" docs/project/04-design/08-infrastructure.md \
|
|
87
|
+
&& echo "OK" || echo "MISSING SECTION"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
詳細チェックリストは [reference/structure-check.md](reference/structure-check.md#チェックリスト) を参照。
|
|
91
|
+
|
|
92
|
+
### 7. Git への追加(任意)
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
git add docs/project/04-design/08-infrastructure.md
|
|
96
|
+
git commit -m "docs: インフラ設計の定義"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## 完了条件
|
|
100
|
+
|
|
101
|
+
- `docs/project/04-design/08-infrastructure.md` が作成されている。
|
|
102
|
+
- インフラの物理構成とネットワーク構成が可視化されている。
|
|
103
|
+
- 環境ごとの差異が明確になっている。
|
|
104
|
+
- 運用上の重要事項(バックアップ、セキュリティ)が定義されている。
|
|
105
|
+
- ユーザーが内容を承認している。
|
|
106
|
+
|
|
107
|
+
## エスカレーション
|
|
108
|
+
|
|
109
|
+
- **コストが高すぎる**: 「冗長化構成によりコストが増加します。ステージング環境は Single-AZ にするなど、コスト最適化を検討しましょう。」
|
|
110
|
+
- **セキュリティリスク**: 「DB がパブリックサブネットに配置されています。プライベートサブネットへの移動を強く推奨します。」
|
|
111
|
+
- 詳細応答例は [reference/structure-check.md](reference/structure-check.md#エスカレーション時の推奨応答) を参照。
|
|
112
|
+
|
|
113
|
+
## 参考
|
|
114
|
+
|
|
115
|
+
- [examples/infrastructure-templates.md](examples/infrastructure-templates.md) — インフラ構成図、環境構成表、運用方針の定義項目
|
|
116
|
+
- [examples/non-functional-requirements.md](examples/non-functional-requirements.md) — 詳細な非機能要件テンプレート(設計フェーズで定量化)
|
|
117
|
+
- [examples/nfr-baseline.md](examples/nfr-baseline.md) — 非機能要件の標準ベースライン提案値
|
|
118
|
+
- [reference/structure-check.md](reference/structure-check.md) — 構造確認コマンド、チェックリスト、非機能要件対応、レビュー質問
|
|
@@ -1,115 +1,120 @@
|
|
|
1
|
-
# 非機能要件一覧
|
|
2
|
-
|
|
3
|
-
<!--
|
|
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
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
|
110
|
-
|
|
111
|
-
|
|
|
112
|
-
|
|
|
113
|
-
|
|
|
114
|
-
|
|
|
115
|
-
|
|
|
1
|
+
# 非機能要件一覧
|
|
2
|
+
|
|
3
|
+
<!--
|
|
4
|
+
何を書くか: システムが「どう動くべきか」を定義する品質要件
|
|
5
|
+
|
|
6
|
+
位置づけ:
|
|
7
|
+
- これは設計フェーズ(/a-014-define-infrastructure)で必要時に展開する詳細 NFR テンプレート。
|
|
8
|
+
- 初期フェーズ(要件定義)では詳細 NFR を定量化しない。MVP の作り方を変えるほど重要な制約のみを
|
|
9
|
+
Product Brief の「クリティカル制約」に記載する。本テンプレートはその制約を起点に詳細化する。
|
|
10
|
+
|
|
11
|
+
目的:
|
|
12
|
+
- システムの性能基準、セキュリティレベル、信頼性を明確化
|
|
13
|
+
- アーキテクチャ設計・インフラ設計の指針を提供
|
|
14
|
+
- テスト計画の基準値を設定
|
|
15
|
+
- ステークホルダーとのSLA(サービスレベル合意)の根拠
|
|
16
|
+
|
|
17
|
+
特徴:
|
|
18
|
+
- 機能要件(何ができるか)に対し、非機能要件は「どれくらい良く動くか」を規定
|
|
19
|
+
- 測定可能で検証可能な基準を設定
|
|
20
|
+
- 設計フェーズで定義し、開発全体を通じて継続的に検証
|
|
21
|
+
|
|
22
|
+
記載のポイント:
|
|
23
|
+
- 具体的な数値目標を含める(「高速」ではなく「200ms以内」)
|
|
24
|
+
- 現実的で達成可能な基準を設定
|
|
25
|
+
- ビジネス要件と技術的実現可能性のバランスを取る
|
|
26
|
+
|
|
27
|
+
更新頻度:
|
|
28
|
+
- 設計フェーズで定義、要件変更時に見直し
|
|
29
|
+
- システム規模拡大時に再評価(ユーザー数増加など)
|
|
30
|
+
- 定期的な監視結果に基づいて調整
|
|
31
|
+
-->
|
|
32
|
+
|
|
33
|
+
<!--
|
|
34
|
+
テーブル構成:
|
|
35
|
+
|
|
36
|
+
【カテゴリ】
|
|
37
|
+
主要なカテゴリと内容:
|
|
38
|
+
|
|
39
|
+
性能(Performance)
|
|
40
|
+
- 応答時間: ユーザー操作からレスポンスまでの時間
|
|
41
|
+
- スループット: 単位時間あたりの処理件数
|
|
42
|
+
- リソース使用率: CPU、メモリ、ディスク、ネットワーク
|
|
43
|
+
- 同時接続数: 同時にアクセス可能なユーザー数
|
|
44
|
+
|
|
45
|
+
セキュリティ(Security)
|
|
46
|
+
- 認証・認可: ログイン方式、アクセス制御
|
|
47
|
+
- 暗号化: 通信・データの暗号化方式
|
|
48
|
+
- 監査: ログ記録、アクセス履歴
|
|
49
|
+
- 脆弱性対策: OWASP Top 10対応など
|
|
50
|
+
- データ保護: GDPR、個人情報保護法などのコンプライアンス
|
|
51
|
+
|
|
52
|
+
可用性(Availability)
|
|
53
|
+
- 稼働率: システムが利用可能な時間の割合(例: 99.9%)
|
|
54
|
+
- MTBF: 平均故障間隔
|
|
55
|
+
- MTTR: 平均復旧時間
|
|
56
|
+
- バックアップ: バックアップ頻度と保持期間
|
|
57
|
+
- 障害対応: 検知から復旧までの目標時間
|
|
58
|
+
|
|
59
|
+
スケーラビリティ(Scalability)
|
|
60
|
+
- ユーザー数: 対応可能な最大ユーザー数
|
|
61
|
+
- データ量: 保存可能なデータの上限
|
|
62
|
+
- 拡張性: 水平/垂直スケーリングの方式
|
|
63
|
+
- エラスティシティ: 負荷に応じた自動スケーリング
|
|
64
|
+
|
|
65
|
+
ユーザビリティ(Usability)
|
|
66
|
+
- アクセシビリティ: WCAG準拠レベル
|
|
67
|
+
- 学習容易性: 新規ユーザーが操作を習得する時間
|
|
68
|
+
- 多言語対応: サポートする言語
|
|
69
|
+
- モバイル対応: レスポンシブデザイン、PWA
|
|
70
|
+
|
|
71
|
+
保守性(Maintainability)
|
|
72
|
+
- コード品質: テストカバレッジ、静的解析基準
|
|
73
|
+
- デプロイ頻度: リリースサイクル
|
|
74
|
+
- ロールバック時間: 問題発生時の巻き戻し時間
|
|
75
|
+
|
|
76
|
+
互換性(Compatibility)
|
|
77
|
+
- ブラウザ対応: サポートするブラウザとバージョン
|
|
78
|
+
- デバイス対応: PC、タブレット、スマートフォン
|
|
79
|
+
- API互換性: 後方互換性の保証期間
|
|
80
|
+
|
|
81
|
+
【要件】
|
|
82
|
+
- カテゴリ内の具体的な要件項目名
|
|
83
|
+
- 簡潔で明確な名称(2-5単語程度)
|
|
84
|
+
- 例: 「応答時間」「認証方式」「稼働率」
|
|
85
|
+
|
|
86
|
+
【説明】
|
|
87
|
+
- 要件の具体的な基準値や条件を記述
|
|
88
|
+
- 測定可能な数値を含める(必須)
|
|
89
|
+
- 測定条件や前提条件も必要に応じて記載
|
|
90
|
+
- 例: 「API応答は95パーセンタイルで200ms以内(通常負荷時)」
|
|
91
|
+
|
|
92
|
+
ベストプラクティス:
|
|
93
|
+
- 「速い」「安全」など曖昧な表現を避け、具体的な数値や基準を使う
|
|
94
|
+
- テスト可能な要件にする(どう検証するか明確にする)
|
|
95
|
+
- 優先度の高い要件から記載(すべてを満たす必要はない場合もある)
|
|
96
|
+
- ビジネス影響を考慮した現実的な基準を設定(過度に厳しい基準は開発コストを増大させる)
|
|
97
|
+
- 競合他社や業界標準を参考にする
|
|
98
|
+
- システムの成長に応じて要件を見直す(初期は緩く、成熟に伴い厳格化も可)
|
|
99
|
+
-->
|
|
100
|
+
|
|
101
|
+
| カテゴリ | 要件 | 説明 |
|
|
102
|
+
|----------|------|------|
|
|
103
|
+
| <!-- カテゴリ名 --> | <!-- 要件名 --> | <!-- 要件の詳細 --> |
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
**例:**
|
|
108
|
+
|
|
109
|
+
| カテゴリ | 要件 | 説明 |
|
|
110
|
+
|----------|------|------|
|
|
111
|
+
| 性能 | 応答時間 | API応答は200ms以内 |
|
|
112
|
+
| 性能 | 処理能力 | 同時接続1000ユーザーまで対応 |
|
|
113
|
+
| セキュリティ | 認証 | OAuth 2.0 + JWT認証 |
|
|
114
|
+
| セキュリティ | 暗号化 | TLS 1.3による通信暗号化 |
|
|
115
|
+
| セキュリティ | 監査 | 全API呼び出しのログ記録 |
|
|
116
|
+
| 可用性 | 稼働率 | 99.9%の稼働率を維持 |
|
|
117
|
+
| 可用性 | 障害対応 | 検知から復旧まで4時間以内 |
|
|
118
|
+
| スケーラビリティ | ユーザー数 | 10万ユーザーまで対応可能 |
|
|
119
|
+
| スケーラビリティ | データ量 | 1TBまでのデータ保存 |
|
|
120
|
+
| ユーザビリティ | アクセシビリティ | WCAG 2.1 AA準拠 |
|
|
@@ -29,17 +29,19 @@ allowed-tools: Read, Grep, Glob, Write, Bash
|
|
|
29
29
|
|
|
30
30
|
## 手順
|
|
31
31
|
|
|
32
|
-
### 1.
|
|
32
|
+
### 1. doctor によるドキュメント健全性検査
|
|
33
33
|
|
|
34
34
|
```bash
|
|
35
|
-
|
|
35
|
+
npx -y yodogawa doctor --json
|
|
36
36
|
```
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
`findings` から `check: "structure"` かつ `file` が `docs/project/04-design/` で始まる項目を確認し、必須ファイル・見出しの欠落があれば対応するスキル(a-007〜a-014)の実行を促す。**`id-trace` は 04-design 配下を対象にした ID 体系を持たないため、5観点すべてに直接的な機械判定は無い**(`bin/lib/project-spec.js` の `ID_FAMILIES` に 04-design 向けの族が定義されていないため)。`placeholder`/`links` の finding は前提整合性の補助シグナルとして使う(未記入セクション・リンク切れの有無)。doctor が実行できない場合のみ、代替として `ls -l docs/project/04-design/*.md` を実行する。
|
|
39
39
|
|
|
40
|
-
### 2.
|
|
40
|
+
### 2. 一貫性チェックの実行(観点別 PASS/FAIL + 根拠引用)
|
|
41
41
|
|
|
42
|
-
以下の 5
|
|
42
|
+
以下の 5 観点を **PASS / FAIL** で判定する(判定ルール: 観点内に Error 相当の指摘が1件以上あれば FAIL、Warning 相当のみなら PASS+注記)。**doctor の id-trace は 04-design を検査対象にしないため、2.1〜2.5 のすべてがエージェント自身の Read/Grep による判断**になる。各判定には file:line の引用を必須とする(詳細は [reference/consistency-checks.md](reference/consistency-checks.md))。
|
|
43
|
+
|
|
44
|
+
> **エージェントの役割範囲**: doctor が既に検査済みの機械的観点(手順1の存在確認)は再実装しない。一方、この手順2の5観点はすべて doctor 非対応の意味判断であり、役割は「読解判断+証拠引用」である。Read/Grep/Glob を自由に使ってよい(むしろ必須)。判断した結果は必ず file:line の引用を伴わせる。
|
|
43
45
|
|
|
44
46
|
- **2.1 テックスタック ↔ アーキテクチャ**: 選定技術の反映、ADR の記録
|
|
45
47
|
- **2.2 データモデル ↔ ドメインモデル**: Aggregate のカバレッジ、用語統一
|
|
@@ -47,14 +49,16 @@ ls -l docs/project/04-design/*.md
|
|
|
47
49
|
- **2.4 画面設計 ↔ API 仕様**: 必要なエンドポイントのカバレッジ、状態対応
|
|
48
50
|
- **2.5 インフラ ↔ アーキテクチャ**: 構成の網羅、非機能要件の反映
|
|
49
51
|
|
|
52
|
+
`structure`/`placeholder`/`links` の finding は各観点に一対一対応しないため、判断材料としてのみ利用する。
|
|
53
|
+
|
|
50
54
|
### 3. レビュー結果レポートの作成
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
観点別 PASS/FAIL の結果をまとめ、`docs/project/DESIGN-REVIEW-REPORT-YYYYMMDDHHMMSS.md` を作成する。フォーマットは [examples/review-report-template.md](examples/review-report-template.md#レポートフォーマット) を参照。
|
|
53
57
|
|
|
54
58
|
必須セクション:
|
|
55
59
|
|
|
56
|
-
-
|
|
57
|
-
- 詳細(上記 5
|
|
60
|
+
- サマリー(観点別 PASS/FAIL の件数)
|
|
61
|
+
- 詳細(上記 5 観点ごとの PASS/FAIL・根拠(file:line引用)・コメント)
|
|
58
62
|
- 推奨アクション(修正すべきタスクとスキル参照)
|
|
59
63
|
|
|
60
64
|
### 4. 結果の報告と修正提案
|
|
@@ -73,7 +77,7 @@ git commit -m "docs: 設計整合性レビューレポートの作成"
|
|
|
73
77
|
## 完了条件
|
|
74
78
|
|
|
75
79
|
- `docs/project/DESIGN-REVIEW-REPORT-YYYYMMDDHHMMSS.md` が作成されている。
|
|
76
|
-
-
|
|
80
|
+
- 全設計ドキュメント間の整合性がチェックされ、観点ごとの判定(PASS/FAIL)と根拠(file:line引用)が記録されている。
|
|
77
81
|
- 具体的な修正アクションが提案されている。
|
|
78
82
|
|
|
79
83
|
## エスカレーション
|
|
@@ -84,5 +88,5 @@ git commit -m "docs: 設計整合性レビューレポートの作成"
|
|
|
84
88
|
|
|
85
89
|
## 参考
|
|
86
90
|
|
|
87
|
-
- [examples/review-report-template.md](examples/review-report-template.md) —
|
|
88
|
-
- [reference/consistency-checks.md](reference/consistency-checks.md) — 5
|
|
91
|
+
- [examples/review-report-template.md](examples/review-report-template.md) — レビュー結果レポートのフォーマット例、PASS/FAIL判定ルール
|
|
92
|
+
- [reference/consistency-checks.md](reference/consistency-checks.md) — 5 観点の詳細なチェック項目(すべてdoctor非対応)、grep補助例、エスカレーション基準
|
|
@@ -8,49 +8,37 @@ SKILL.md 手順3 で作成する `docs/project/DESIGN-REVIEW-REPORT-*.md` のフ
|
|
|
8
8
|
# 設計ドキュメント一貫性レビュー結果
|
|
9
9
|
|
|
10
10
|
**実施日**: YYYY-MM-DD
|
|
11
|
+
**doctor**: `structure` 検査のみ利用(04-design配下の存在確認)。`id-trace` は 04-design 非対応のため5観点はすべてRead手動確認。
|
|
11
12
|
|
|
12
13
|
## サマリー
|
|
13
14
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
- Error: X 項目
|
|
15
|
+
- 観点別判定: PASS 3 / FAIL 2(全5観点)
|
|
16
|
+
- 総合: FAIL(FAIL観点: 2.2, 2.4)
|
|
17
17
|
|
|
18
|
-
##
|
|
18
|
+
## 詳細(観点別 PASS/FAIL)
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
-
|
|
27
|
-
|
|
28
|
-
### 3. API 仕様 ↔ データモデル
|
|
29
|
-
|
|
30
|
-
- **Warning**: API レスポンスのフィールド `user_rank` がデータモデルにありません。
|
|
31
|
-
|
|
32
|
-
### 4. 画面設計 ↔ API 仕様
|
|
33
|
-
|
|
34
|
-
- **Error**: 「注文履歴画面」に必要な `GET /api/orders/history` が定義されていません。
|
|
35
|
-
|
|
36
|
-
### 5. インフラ ↔ アーキテクチャ
|
|
37
|
-
|
|
38
|
-
- OK: 冗長化構成はアーキテクチャの可用性要件を満たしています。
|
|
20
|
+
| 観点 | 判定 | 根拠(file:line) | コメント |
|
|
21
|
+
|:--|:--:|:--|:--|
|
|
22
|
+
| 2.1 テックスタック ↔ アーキテクチャ | PASS | `docs/project/04-design/07-architecture.md:14`: 「PostgreSQL, Redis」 | tech-stackの選定技術がarchitecture図に反映(Read手動確認) |
|
|
23
|
+
| 2.2 データモデル ↔ ドメインモデル | FAIL | `docs/project/03-domain/01-domain-sketch.md:20`: 「中核エンティティ: Order」 | Aggregate「Order」に対応するテーブル定義が `05-data-model.md` に無い |
|
|
24
|
+
| 2.3 API仕様 ↔ データモデル | PASS | `docs/project/04-design/06-api-spec.md:33`: 「user_rank」 | データモデルの派生フィールドとして明示あり |
|
|
25
|
+
| 2.4 画面設計 ↔ API仕様 | FAIL | `docs/project/04-design/03-screen-design.md:41`: 「注文履歴画面」 | `GET /api/orders/history` が定義されていない |
|
|
26
|
+
| 2.5 インフラ ↔ アーキテクチャ | PASS | `docs/project/04-design/08-infrastructure.md:10`: 「Multi-AZ構成」 | 可用性要件を満たす |
|
|
39
27
|
|
|
40
28
|
## 推奨アクション
|
|
41
29
|
|
|
42
30
|
1. `/a-011-define-data-model` で `orders` テーブルを定義する。
|
|
43
31
|
2. `/a-012-define-api-spec` で `GET /api/orders/history` を追加する。
|
|
44
|
-
3. `/a-011-define-data-model` で `user_rank` のカラム追加を検討する。
|
|
45
32
|
```
|
|
46
33
|
|
|
47
|
-
##
|
|
34
|
+
## 判定ルールの使い方
|
|
48
35
|
|
|
49
|
-
|
|
|
36
|
+
| 判定 | 意味 | 根拠列の要件 |
|
|
50
37
|
|:--|:--|:--|
|
|
51
|
-
|
|
|
52
|
-
|
|
|
53
|
-
|
|
38
|
+
| PASS | 観点内に Error 相当の指摘が無い | Warning相当の注記があれば file:line 付きでコメント欄に残す(消さない) |
|
|
39
|
+
| FAIL | 観点内に Error 相当の指摘が1件以上 | 根拠列に file:line と該当行の引用が1件以上必須 |
|
|
40
|
+
|
|
41
|
+
5観点すべてdoctor非対応のため、判定は必ずRead/Grepによる手動確認+file:line引用で行う([reference/consistency-checks.md](../reference/consistency-checks.md)参照)。
|
|
54
42
|
|
|
55
43
|
## コミットメッセージ例
|
|
56
44
|
|