spec-runner 1.4.1 → 1.6.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/package.json +1 -1
- package/spec-runner/templates/{.github/agents/impact-analyzer.agent.md → .claude/agents/analyze-impact.md} +5 -7
- package/spec-runner/templates/.claude/agents/{code-reviewer.md → review-code.md} +3 -5
- package/spec-runner/templates/{.github/agents/design-reviewer.agent.md → .claude/agents/review-design.md} +11 -11
- package/spec-runner/templates/.claude/agents/{test-runner.md → run-tests.md} +4 -8
- package/spec-runner/templates/.claude/rules/agent-delegation.md +31 -0
- package/spec-runner/templates/.claude/rules/{coding.md → code-style.md} +15 -4
- package/spec-runner/templates/.claude/rules/design-docs.md +4 -4
- package/spec-runner/templates/.claude/rules/{testing.md → test-config.md} +1 -1
- package/spec-runner/templates/.claude/skills/architecture-definition/SKILL.md +18 -19
- package/spec-runner/templates/.claude/skills/architecture-skill-development/SKILL.md +17 -52
- package/spec-runner/templates/{.github/skills/docs-driven-seed → .claude/skills/ddd-seed}/SKILL.md +18 -16
- package/spec-runner/templates/.claude/skills/{docs-driven-seed → ddd-seed}/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/270/200/350/246/247.md +10 -0
- package/spec-runner/templates/.claude/skills/{docs-driven-seed → ddd-seed}/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/02_/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/UC-{/346/227/245/346/234/254/350/252/236/345/220/215}.md +15 -0
- package/spec-runner/templates/.claude/skills/design-change/SKILL.md +24 -25
- package/spec-runner/templates/.claude/skills/design-change/references//345/275/261/351/237/277/347/257/204/345/233/262/343/203/201/343/202/247/343/203/203/343/202/257/343/203/252/343/202/271/343/203/210.md +1 -1
- package/spec-runner/templates/.claude/skills/existing-project-to-docs/SKILL.md +10 -18
- package/spec-runner/templates/.claude/skills/harness-engineering/SKILL.md +6 -45
- package/spec-runner/templates/.claude/{rules/harness-formats.md → skills/harness-engineering/references/harness-format.md} +10 -4
- package/spec-runner/templates/.claude/skills/simple-seed/SKILL.md +15 -9
- package/spec-runner/templates/.claude/skills/simple-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/270/200/350/246/247.md +10 -0
- package/spec-runner/templates/.claude/skills/simple-seed/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/01_/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/UC-{/346/227/245/346/234/254/350/252/236/345/220/215}.md +15 -0
- package/spec-runner/templates/.claude/skills/spec-probe/SKILL.md +12 -0
- package/spec-runner/templates/.claude/skills/test-driven-development/SKILL.md +34 -172
- package/spec-runner/templates/{.claude/agents/impact-analyzer.md → .github/agents/analyze-impact.agent.md} +5 -7
- package/spec-runner/templates/.github/agents/{code-reviewer.agent.md → review-code.agent.md} +3 -5
- package/spec-runner/templates/{.claude/agents/design-reviewer.md → .github/agents/review-design.agent.md} +11 -11
- package/spec-runner/templates/.github/agents/{test-runner.agent.md → run-tests.agent.md} +4 -8
- package/spec-runner/templates/.github/instructions/agent-delegation.instructions.md +31 -0
- package/spec-runner/templates/.github/instructions/{coding.instructions.md → code-style.instructions.md} +17 -5
- package/spec-runner/templates/.github/instructions/design-docs.instructions.md +3 -3
- package/spec-runner/templates/.github/skills/architecture-definition/SKILL.md +18 -19
- package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +17 -52
- package/spec-runner/templates/{.claude/skills/docs-driven-seed → .github/skills/ddd-seed}/SKILL.md +18 -16
- package/spec-runner/templates/.github/skills/{docs-driven-seed → ddd-seed}/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/270/200/350/246/247.md +10 -0
- package/spec-runner/templates/.github/skills/{docs-driven-seed → ddd-seed}/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/02_/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/UC-{/346/227/245/346/234/254/350/252/236/345/220/215}.md +15 -0
- package/spec-runner/templates/.github/skills/design-change/SKILL.md +24 -25
- package/spec-runner/templates/.github/skills/design-change/references//345/275/261/351/237/277/347/257/204/345/233/262/343/203/201/343/202/247/343/203/203/343/202/257/343/203/252/343/202/271/343/203/210.md +1 -1
- package/spec-runner/templates/.github/skills/existing-project-to-docs/SKILL.md +12 -20
- package/spec-runner/templates/.github/skills/harness-engineering/SKILL.md +8 -47
- package/spec-runner/templates/.github/{instructions/harness-formats.instructions.md → skills/harness-engineering/references/harness-format.md} +9 -3
- package/spec-runner/templates/.github/skills/simple-seed/SKILL.md +15 -9
- package/spec-runner/templates/.github/skills/simple-seed/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/344/270/200/350/246/247.md +10 -0
- package/spec-runner/templates/.github/skills/simple-seed/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/01_/343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271/UC-{/346/227/245/346/234/254/350/252/236/345/220/215}.md +15 -0
- package/spec-runner/templates/.github/skills/spec-probe/SKILL.md +12 -0
- package/spec-runner/templates/.github/skills/test-driven-development/SKILL.md +34 -172
- package/spec-runner/templates/.claude/rules/sub-agent-delegation.md +0 -37
- package/spec-runner/templates/.github/instructions/sub-agent-delegation.instructions.md +0 -37
- /package/spec-runner/templates/.claude/skills/{docs-driven-seed → ddd-seed}/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//343/203/246/343/203/223/343/202/255/343/202/277/343/202/271/350/250/200/350/252/236/350/276/236/346/233/270.md" +0 -0
- /package/spec-runner/templates/.claude/skills/{docs-driven-seed → ddd-seed}/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//350/246/201/344/273/266/345/256/232/347/276/251.md" +0 -0
- /package/spec-runner/templates/.claude/skills/{docs-driven-seed → ddd-seed}/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/202/267/343/202/271/343/203/206/343/203/240/345/205/250/344/275/223/344/277/257/347/236/260.md" +0 -0
- /package/spec-runner/templates/.claude/skills/{docs-driven-seed → ddd-seed}/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253.md" +0 -0
- /package/spec-runner/templates/.claude/skills/{docs-driven-seed → ddd-seed}/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/01_/343/203/211/343/203/241/343/202/244/343/203/263/{/343/203/211/343/203/241/343/202/244/343/203/263/345/220/215}.md" +0 -0
- /package/spec-runner/templates/.github/instructions/{testing.instructions.md → test-config.instructions.md} +0 -0
- /package/spec-runner/templates/.github/skills/{docs-driven-seed → ddd-seed}/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//343/203/246/343/203/223/343/202/255/343/202/277/343/202/271/350/250/200/350/252/236/350/276/236/346/233/270.md" +0 -0
- /package/spec-runner/templates/.github/skills/{docs-driven-seed → ddd-seed}/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//350/246/201/344/273/266/345/256/232/347/276/251.md" +0 -0
- /package/spec-runner/templates/.github/skills/{docs-driven-seed → ddd-seed}/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/202/267/343/202/271/343/203/206/343/203/240/345/205/250/344/275/223/344/277/257/347/236/260.md" +0 -0
- /package/spec-runner/templates/.github/skills/{docs-driven-seed → ddd-seed}/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210//343/203/211/343/203/241/343/202/244/343/203/263/343/203/242/343/203/207/343/203/253.md" +0 -0
- /package/spec-runner/templates/.github/skills/{docs-driven-seed → ddd-seed}/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/01_/343/203/211/343/203/241/343/202/244/343/203/263/{/343/203/211/343/203/241/343/202/244/343/203/263/345/220/215}.md" +0 -0
|
@@ -5,9 +5,6 @@ description: architecture contract と docs を読み、プロジェクト専用
|
|
|
5
5
|
|
|
6
6
|
# architecture-skill-development
|
|
7
7
|
|
|
8
|
-
`architecture-definition` または `existing-project-to-docs` の後に使う。
|
|
9
|
-
決まったアーキテクチャから、そのプロジェクト専用の skill / rule / template を作る。
|
|
10
|
-
|
|
11
8
|
## 全体フロー
|
|
12
9
|
|
|
13
10
|
```
|
|
@@ -34,7 +31,7 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
|
|
|
34
31
|
|
|
35
32
|
## Phase 3: skill / rule / template へ分解
|
|
36
33
|
|
|
37
|
-
ファイルを作成する前に `.
|
|
34
|
+
ファイルを作成する前に `.claude/skills/harness-engineering/references/harness-format.md` を読み、フォーマットを確認する。
|
|
38
35
|
|
|
39
36
|
1. 会話フローは skill にする
|
|
40
37
|
2. 常時守る約束は rule にする
|
|
@@ -42,60 +39,37 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
|
|
|
42
39
|
|
|
43
40
|
### seed の選択
|
|
44
41
|
|
|
45
|
-
`architecture.yaml` の `style` を読み、使う seed を決める。
|
|
42
|
+
`architecture.yaml` の `style` と `has_frontend` を読み、使う seed を決める。
|
|
46
43
|
|
|
47
44
|
| style | 使う seed | 説明 |
|
|
48
45
|
|-------|----------|------|
|
|
49
|
-
| `ddd` | `
|
|
46
|
+
| `ddd` | `ddd-seed` | ドメイン層(集約・値オブジェクト)を持つ DDD 向けフロー |
|
|
50
47
|
| `layered` | `simple-seed` | ドメイン層を持たない UC・サービス層中心のフロー |
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
`has_frontend: true` の場合、seed から生成するプロジェクト専用スキルに「UC ファイルに画面レイアウトセクションを含める」旨を明記する。
|
|
53
50
|
|
|
54
|
-
|
|
55
|
-
- 選んだ seed の SKILL.md をコピーして、project 専用の開発 skill の土台にする
|
|
56
|
-
- フェーズ構成・テンプレートパス・用語をこのプロジェクトの実態に合わせて書き換える
|
|
57
|
-
- Phase 1(要件定義)は architecture-definition で完了済みのため削除する
|
|
58
|
-
- 元の seed は書き換え完了後にアーカイブ候補とする(Phase 6 で提案する)
|
|
51
|
+
選んだ seed の SKILL.md をコピーし、フェーズ構成・テンプレートパス・用語をこのプロジェクトの実態に合わせて書き換えたプロジェクト専用 skill を作る(Phase 1 は完了済みのため削除する。元の seed はアーカイブ候補とする)。
|
|
59
52
|
|
|
60
53
|
4. ユーザーに確認・承認を得る
|
|
61
54
|
|
|
62
55
|
## Phase 4: 基盤 skill のプロジェクト固有化
|
|
63
56
|
|
|
64
57
|
インストール時に配布された基盤 skill のプレースホルダーを、このプロジェクトの実態に書き換える。
|
|
58
|
+
以降の書き換えはすべて `architecture.yaml` の `integrations` に従う(`claude` のみなら `.claude/` だけ、`github` のみなら `.github/` だけ、両方なら対で更新する)。
|
|
65
59
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
### testing.md の書き換え
|
|
60
|
+
### test-config.md の書き換え
|
|
69
61
|
|
|
70
|
-
`instructions/
|
|
62
|
+
`rules/test-config.md`(GitHub Copilot は `instructions/test-config.instructions.md`)はテスト実行コマンドの単一ソースとして `test-driven-development` スキルと `run-tests` エージェントの両方から参照される。`architecture.yaml` の `testing_policy` を参照して書き換える。
|
|
71
63
|
|
|
72
64
|
1. **テスト実行コマンド**: `<your-unit-test-command>` / `<your-integration-test-command>` 等を実際のコマンドに書き換える
|
|
73
|
-
|
|
74
|
-
例:
|
|
75
|
-
```bash
|
|
76
|
-
# 全テスト
|
|
77
|
-
docker compose run --rm test pytest
|
|
78
|
-
|
|
79
|
-
# 特定ファイル
|
|
80
|
-
docker compose run --rm test pytest tests/path/to/test_file.py
|
|
81
|
-
|
|
82
|
-
# カバレッジ計測
|
|
83
|
-
docker compose run --rm test pytest --cov=. --cov-report=term-missing
|
|
84
|
-
```
|
|
85
|
-
|
|
86
65
|
2. **テスト構成**: `tests/` のディレクトリ構成が実態と異なる場合は書き換える
|
|
87
66
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
### test-driven-development の書き換え(テストコマンド以外)
|
|
67
|
+
### test-driven-development の書き換え
|
|
91
68
|
|
|
92
69
|
`architecture.yaml` の `language` を参照して、以下を実際の値に置き換える。
|
|
93
70
|
|
|
94
|
-
1.
|
|
95
|
-
2.
|
|
96
|
-
3. **モックのルール**: 使用する外部サービスとモック手段(ライブラリ名など)を具体化する
|
|
97
|
-
|
|
98
|
-
上記の `integrations` ルールに従って反映する。
|
|
71
|
+
1. **fixture / テストデータ**: このプロジェクトの実際のクラス名・DB 接続方法・ヘルパ関数パターンを記述する
|
|
72
|
+
2. **モックのルール**: 使用する外部サービスとモック手段(ライブラリ名など)を具体化する
|
|
99
73
|
|
|
100
74
|
### 影響範囲チェックリストの書き換え
|
|
101
75
|
|
|
@@ -104,7 +78,7 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
|
|
|
104
78
|
1. 変更カテゴリをプロジェクトの構成要素(モジュール・サービス・ドメインなど)に合わせて追加・削除する
|
|
105
79
|
2. 詳細設計のパスを `architecture.yaml` の `folder_structure` に合わせて書き換える
|
|
106
80
|
|
|
107
|
-
###
|
|
81
|
+
### code-style.md の書き換え
|
|
108
82
|
|
|
109
83
|
`architecture.yaml` の `language` と `folder_structure` を参照して、以下を実際の値に置き換える。
|
|
110
84
|
|
|
@@ -114,8 +88,6 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
|
|
|
114
88
|
3. **言語・型固有ルール**: `<your-language-and-type-rules>` を言語・フレームワークに合わせた具体的なルールに書き換える
|
|
115
89
|
4. **プロジェクト構造**: `<your-project-structure>` を `folder_structure` の実際のディレクトリ構成に書き換える
|
|
116
90
|
|
|
117
|
-
上記の `integrations` ルールに従って反映する。
|
|
118
|
-
|
|
119
91
|
### その他の基盤 skill
|
|
120
92
|
|
|
121
93
|
同様のプレースホルダーや汎用記述が他の skill にあれば、同じ要領で書き換える。
|
|
@@ -137,9 +109,9 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
|
|
|
137
109
|
|---|---|
|
|
138
110
|
| `architecture-definition` | 新規プロジェクト初期化専用。アーキテクチャ確定後は不要 |
|
|
139
111
|
| `existing-project-to-docs` | 既存プロジェクト取り込み専用。docs 生成後は不要 |
|
|
140
|
-
| `
|
|
141
|
-
| `simple-seed` |
|
|
142
|
-
| `architecture-skill-development`(このファイル自身) | project 専用 skill
|
|
112
|
+
| `ddd-seed` | style: ddd で seed 使用後は不要。ただし `architecture-definition` も同時アーカイブする場合のみ `templates/01_要件定義/` を削除可 |
|
|
113
|
+
| `simple-seed` | style: layered で seed 使用後は不要 |
|
|
114
|
+
| `architecture-skill-development`(このファイル自身) | project 専用 skill が安定したら不要。アーキテクチャ大変更時は再利用可 |
|
|
143
115
|
|
|
144
116
|
### 手順
|
|
145
117
|
|
|
@@ -148,8 +120,8 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
|
|
|
148
120
|
3. 必要であれば削除前にバックアップ先をユーザーに伝える
|
|
149
121
|
4. `.spec-runner/` の不要ファイルも整理する
|
|
150
122
|
- `intake/current-system-inventory.md` — docs に昇格済みなら削除してよい
|
|
151
|
-
- `architecture/architecture.yaml` —
|
|
152
|
-
- `scripts/scan.js` — **削除しない**。`@impact
|
|
123
|
+
- `architecture/architecture.yaml` — **削除しない**。設計変更のたびに最新状態を保つ。プロジェクトの全体像を把握するための正本として使い続ける
|
|
124
|
+
- `scripts/scan.js` — **削除しない**。`@analyze-impact` が常時依存しているため
|
|
153
125
|
5. `CLAUDE.md` を更新する
|
|
154
126
|
- 「初回自動起動」セクション(spec-runner インストール時に生成されたもの)を削除する
|
|
155
127
|
- 作成した project 専用 skill の名前と使いどころを記載する
|
|
@@ -161,10 +133,3 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
|
|
|
161
133
|
テストを書くときは `/test-driven-development` を使う。
|
|
162
134
|
```
|
|
163
135
|
- `.claude/` と `.github/` 両系で内容が変わる場合は、それぞれに反映する
|
|
164
|
-
|
|
165
|
-
## 原則
|
|
166
|
-
|
|
167
|
-
- 固定の architecture pack を増やしすぎない
|
|
168
|
-
- project 専用 skill を先に考える
|
|
169
|
-
- docs と architecture contract の両方を入力にする
|
|
170
|
-
- skill の削除・移動はユーザー承認なしに行わない
|
package/spec-runner/templates/{.claude/skills/docs-driven-seed → .github/skills/ddd-seed}/SKILL.md
RENAMED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: ddd-seed
|
|
3
3
|
description: UC/DDD 駆動の docs 正本開発フローの種。新規プロジェクトの初期テンプレートとして使い、architecture-skill-development でプロジェクト専用スキルに育てる。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# ddd-seed
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
## 前提: architecture.yaml の読み込み
|
|
9
|
+
|
|
10
|
+
開始前に `.spec-runner/architecture/architecture.yaml` を読み、以下を確認する:
|
|
11
|
+
|
|
12
|
+
| キー | 用途 |
|
|
13
|
+
|------|------|
|
|
14
|
+
| `style` | このスキル(`ddd`)が適切かを確認 |
|
|
15
|
+
| `has_frontend` | `true` なら UC ファイルに「画面レイアウト」セクションを含める |
|
|
16
|
+
| `folder_structure` | `maps_to` パスの基準として参照する |
|
|
17
|
+
|
|
18
|
+
設計フェーズで新たな方針・コンポーネントが確定したら、都度 architecture.yaml を最新状態に保つ。
|
|
10
19
|
|
|
11
20
|
## 全体フロー
|
|
12
21
|
|
|
@@ -20,10 +29,11 @@ Phase 5: TDD → 実装
|
|
|
20
29
|
|
|
21
30
|
## 前提ルール
|
|
22
31
|
|
|
23
|
-
- docs は正本とし、各ドキュメントに `spec_runner
|
|
32
|
+
- docs は正本とし、各ドキュメントに `spec_runner`ヘッダーを付ける
|
|
24
33
|
- 詳細設計は `01_ドメイン/` `02_ユースケース/` `03_DB・外部サービス/` の 3 層で構成する
|
|
25
|
-
- UC
|
|
34
|
+
- ドメインを先に設計し、UC はドメインを参照する形で書く。ドメインの中に UC は入れない
|
|
26
35
|
- `maps_to` は必ず設定する。パス推定に頼らない
|
|
36
|
+
- 実装ファイルのパスは UC ドキュメント本文に書かない。`maps_to` ヘッダーで管理する
|
|
27
37
|
- ユーザー承認なしに次フェーズへ進めない
|
|
28
38
|
|
|
29
39
|
## Phase 1: 要件定義
|
|
@@ -94,6 +104,8 @@ docs/03_詳細設計/01_ドメイン/
|
|
|
94
104
|
|
|
95
105
|
テンプレート: `templates/03_詳細設計/02_ユースケース/UC-{日本語名}.md`
|
|
96
106
|
|
|
107
|
+
> `has_frontend: true` の場合は各 UC ファイルに「画面レイアウト」セクションを含める。`false` なら削除する。
|
|
108
|
+
|
|
97
109
|
```
|
|
98
110
|
docs/03_詳細設計/02_ユースケース/
|
|
99
111
|
UC-{日本語名}.md
|
|
@@ -112,13 +124,3 @@ docs/03_詳細設計/03_DB・外部サービス/
|
|
|
112
124
|
## Phase 5: TDD → 実装
|
|
113
125
|
|
|
114
126
|
`test-driven-development` スキルへ移行する。
|
|
115
|
-
|
|
116
|
-
### 実装完了後
|
|
117
|
-
|
|
118
|
-
- `@design-reviewer` — 設計書⇔実装の整合性チェック
|
|
119
|
-
- `@code-reviewer` — コーディング規約への適合チェック
|
|
120
|
-
|
|
121
|
-
## 原則
|
|
122
|
-
|
|
123
|
-
- ドメインを先に設計し、UC はドメインを参照する形で書く
|
|
124
|
-
- `maps_to` は必ず設定する。パス推定に頼らない
|
|
@@ -10,6 +10,16 @@ spec_runner:
|
|
|
10
10
|
|
|
11
11
|
# ユースケース一覧
|
|
12
12
|
|
|
13
|
+
<!-- カテゴリは機能領域や画面単位で分ける。例: 認証、ユーザー管理、商品管理 など -->
|
|
14
|
+
|
|
15
|
+
## {カテゴリ名}
|
|
16
|
+
|
|
17
|
+
| UC ID | UC名 | 種別 | 概要 |
|
|
18
|
+
|-------|------|------|------|
|
|
19
|
+
| UC-{番号} | {UC名} | Command / Query | {概要} |
|
|
20
|
+
|
|
21
|
+
## {カテゴリ名}
|
|
22
|
+
|
|
13
23
|
| UC ID | UC名 | 種別 | 概要 |
|
|
14
24
|
|-------|------|------|------|
|
|
15
25
|
| UC-{番号} | {UC名} | Command / Query | {概要} |
|
|
@@ -48,6 +48,21 @@ sequenceDiagram
|
|
|
48
48
|
|------------|---------|------|
|
|
49
49
|
| {エラーケース} | {発生条件} | {対応} |
|
|
50
50
|
|
|
51
|
+
## 画面レイアウト
|
|
52
|
+
|
|
53
|
+
> `has_frontend: true` のときのみ記載する。不要なら削除する。
|
|
54
|
+
|
|
55
|
+
- 画面名: {画面名}
|
|
56
|
+
- 遷移元: {前の画面 or -}
|
|
57
|
+
- 遷移先: {次の画面 or -}
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
{画面レイアウト概要 — ASCII art / Markdown テーブルで表現}
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
- 主要 UI 要素:
|
|
64
|
+
- {入力フォーム・ボタン・一覧表示など}
|
|
65
|
+
|
|
51
66
|
## テスト観点
|
|
52
67
|
|
|
53
68
|
- {正常系の観点}
|
|
@@ -5,11 +5,23 @@ description: 既存機能の変更を docs 正本で進めるフローガイド
|
|
|
5
5
|
|
|
6
6
|
# design-change
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
フェーズは順番通りに進める。ユーザーの承認なしに先へ進めない。
|
|
9
9
|
|
|
10
10
|
影響範囲のチェックリストは `references/影響範囲チェックリスト.md` を参照する。
|
|
11
11
|
ADR テンプレートは `templates/90_ADR/ADRテンプレート.md` を使用する。
|
|
12
12
|
|
|
13
|
+
## 前提: architecture.yaml の読み込み
|
|
14
|
+
|
|
15
|
+
開始前に `.spec-runner/architecture/architecture.yaml` を読み、以下を確認する:
|
|
16
|
+
|
|
17
|
+
| キー | 用途 |
|
|
18
|
+
|------|------|
|
|
19
|
+
| `style` | Phase 4/5 のフォルダパス・設計順序を決定 |
|
|
20
|
+
| `has_frontend` | UC 修正時に「画面レイアウト」セクションの要否を判断 |
|
|
21
|
+
| `folder_structure` | 影響ドキュメントのパス確認に使用 |
|
|
22
|
+
|
|
23
|
+
設計変更によって方針・構成に変化があった場合は、architecture.yaml も合わせて更新する。
|
|
24
|
+
|
|
13
25
|
## 全体フロー
|
|
14
26
|
|
|
15
27
|
```
|
|
@@ -23,15 +35,16 @@ Phase 6: TDD → 実装 → 検証
|
|
|
23
35
|
|
|
24
36
|
## Phase 1: 変更要求の整理と軽い影響調査
|
|
25
37
|
|
|
26
|
-
1.
|
|
38
|
+
1. 曖昧な前提があれば `spec-probe` スキルで先に整理する
|
|
39
|
+
2. 以下をユーザーにヒアリングする
|
|
27
40
|
- 変更の背景・課題
|
|
28
41
|
- 変更の目的・期待する結果
|
|
29
42
|
- 影響を受ける機能カテゴリ
|
|
30
43
|
- 技術的・ビジネス的制約
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
44
|
+
3. 変更起点となる docs を特定する
|
|
45
|
+
4. `@analyze-impact` に委任して `depends_on` / `maps_to` を辿る影響ファイルを洗い出す
|
|
46
|
+
5. 変更が影響するドメインと成果物を一覧化する
|
|
47
|
+
6. ユーザーに確認・承認を得る
|
|
35
48
|
|
|
36
49
|
## Phase 2: ADR 作成(必要時)
|
|
37
50
|
|
|
@@ -55,23 +68,20 @@ Phase 6: TDD → 実装 → 検証
|
|
|
55
68
|
## Phase 3: 影響ドキュメントの確定
|
|
56
69
|
|
|
57
70
|
1. `references/影響範囲チェックリスト.md` を読み、変更に応じた影響ドキュメントを網羅的に洗い出す
|
|
58
|
-
2
|
|
71
|
+
2.ヘッダーの `depends_on` / `maps_to` を使って候補を絞る
|
|
59
72
|
3. 修正が必要なファイルをチェックリスト形式で提示する
|
|
60
|
-
4. `@design
|
|
73
|
+
4. `@review-design` エージェントに委任して、現時点の設計書⇔実装の乖離も合わせて確認する
|
|
61
74
|
5. ユーザーに確認・承認を得る
|
|
62
75
|
|
|
63
76
|
## Phase 4: 概要設計の修正
|
|
64
77
|
|
|
78
|
+
概要設計では「何をするか」に留める。変更理由は ADR または本文で追えるようにする。
|
|
79
|
+
|
|
65
80
|
1. `ユースケース一覧.md` / `システム全体俯瞰.md` / ADR を必要順に修正する
|
|
66
81
|
2. `style: ddd` の場合: `ドメインモデル.md` も必要に応じて修正する
|
|
67
82
|
3. 修正完了ごとにチェックリストを更新する
|
|
68
83
|
4. 全概要設計の修正完了後、ユーザーに確認・承認を得る
|
|
69
84
|
|
|
70
|
-
### 修正時の注意
|
|
71
|
-
|
|
72
|
-
- 変更理由は ADR または本文で追えるようにする
|
|
73
|
-
- 概要設計では「何をするか」に留める
|
|
74
|
-
|
|
75
85
|
## Phase 5: 詳細設計の修正
|
|
76
86
|
|
|
77
87
|
`style: ddd` の場合:
|
|
@@ -85,19 +95,8 @@ Phase 6: TDD → 実装 → 検証
|
|
|
85
95
|
1. `docs/03_詳細設計/01_ユースケース/**` の UC 設計を修正する
|
|
86
96
|
2. DB・外部サービスの変更がある場合は `docs/03_詳細設計/02_DB・外部サービス/**` を修正する
|
|
87
97
|
|
|
88
|
-
|
|
98
|
+
ヘッダー の `depends_on` / `maps_to` を更新する。ユーザーに最終確認を得る。
|
|
89
99
|
|
|
90
100
|
## Phase 6: TDD → 実装 → 検証
|
|
91
101
|
|
|
92
102
|
設計書修正が承認されたら `test-driven-development` スキルへ移行する。
|
|
93
|
-
|
|
94
|
-
### 実装完了後のレビュー
|
|
95
|
-
|
|
96
|
-
- `@design-reviewer` — frontmatter と `maps_to` を起点に設計書⇔実装の整合性チェック
|
|
97
|
-
- `@code-reviewer` — コーディング規約への適合チェック
|
|
98
|
-
|
|
99
|
-
## 原則
|
|
100
|
-
|
|
101
|
-
- 影響候補の洗い出しを ADR より先に行う
|
|
102
|
-
- 概要設計を先に直し、そのあと詳細設計を直す
|
|
103
|
-
- frontmatter の更新を後回しにしない
|
|
@@ -56,4 +56,4 @@ design-change の Phase 3(影響ドキュメントの確定)で参照する
|
|
|
56
56
|
- **ユースケース一覧 ↔ 詳細設計**: 一覧に記載の UC が詳細設計でカバーされているか
|
|
57
57
|
- **システム全体俯瞰 ↔ 詳細設計**: 責務分割が詳細設計に落ちているか
|
|
58
58
|
- **ドメイン設計 ↔ DB スキーマ**: ドメインのフィールドが DB カラムと対応しているか(style: ddd のみ)
|
|
59
|
-
-
|
|
59
|
+
- **ヘッダー ↔ 実ファイル**: `depends_on` と `maps_to` が現状に追随しているか
|
|
@@ -5,9 +5,6 @@ description: 既存プロジェクトを読み解き、docs の正本と archite
|
|
|
5
5
|
|
|
6
6
|
# existing-project-to-docs
|
|
7
7
|
|
|
8
|
-
既存コードから docs を起こすフロー。
|
|
9
|
-
コード、テスト、設定、インフラ定義を読み、`docs/` と `.spec-runner/` の最初の土台を作る。
|
|
10
|
-
|
|
11
8
|
## 全体フロー
|
|
12
9
|
|
|
13
10
|
```
|
|
@@ -21,9 +18,10 @@ Phase 5: architecture contract 化
|
|
|
21
18
|
|
|
22
19
|
## 前提ルール
|
|
23
20
|
|
|
24
|
-
- docs は正本とし、各ドキュメントに `spec_runner
|
|
21
|
+
- docs は正本とし、各ドキュメントに `spec_runner`ヘッダーを付ける
|
|
25
22
|
- `maps_to` は必ず設定する。パス推定に頼らない
|
|
26
23
|
- 既存コードを正として観測する。推測する場合は明示する
|
|
24
|
+
- `depends_on` を使って後続変更に耐える形へ整える
|
|
27
25
|
- ユーザー承認なしに次フェーズへ進めない
|
|
28
26
|
- `style: ddd` の場合: UC がドメインを使う。ドメインの中に UC を入れない
|
|
29
27
|
- `style: ddd` の場合: 詳細設計は `01_ドメイン/` `02_ユースケース/` `03_DB・外部サービス/` の 3 層で構成する
|
|
@@ -50,25 +48,25 @@ Phase 5: architecture contract 化
|
|
|
50
48
|
|
|
51
49
|
## Phase 2: 要件とユースケースの抽出
|
|
52
50
|
|
|
53
|
-
要件定義テンプレートは `simple-seed` に存在しないため、`style` に関わらず `
|
|
51
|
+
要件定義テンプレートは `simple-seed` に存在しないため、`style` に関わらず `ddd-seed` のテンプレートを使う。
|
|
54
52
|
|
|
55
53
|
1. `current-system-inventory.md` を起点に、既存機能からユースケースを逆算する
|
|
56
|
-
2. `.
|
|
57
|
-
3. `.
|
|
58
|
-
4. ドメイン用語が識別できたら `.
|
|
54
|
+
2. `.claude/skills/ddd-seed/templates/01_要件定義/要件定義.md` を使い `docs/01_要件定義/要件定義.md` を作る
|
|
55
|
+
3. `.claude/skills/ddd-seed/templates/02_概要設計/ユースケース一覧.md` を使い `docs/02_概要設計/ユースケース一覧.md` を作る
|
|
56
|
+
4. ドメイン用語が識別できたら `.claude/skills/ddd-seed/templates/01_要件定義/ユビキタス言語辞書.md` を使い `docs/01_要件定義/ユビキタス言語辞書.md` を作る
|
|
59
57
|
5. ユーザーに確認・承認を得る
|
|
60
58
|
|
|
61
59
|
## Phase 3: 概要設計
|
|
62
60
|
|
|
63
61
|
`style: ddd` の場合:
|
|
64
62
|
|
|
65
|
-
1. `.
|
|
66
|
-
2. `.
|
|
63
|
+
1. `.claude/skills/ddd-seed/templates/02_概要設計/システム全体俯瞰.md` を使い `docs/02_概要設計/システム全体俯瞰.md` を作る
|
|
64
|
+
2. `.claude/skills/ddd-seed/templates/02_概要設計/ドメインモデル.md` を使い `docs/02_概要設計/ドメインモデル.md` を作る
|
|
67
65
|
3. 必要なら ADR を作る(作成ルールは下記)
|
|
68
66
|
|
|
69
67
|
`style: layered` の場合:
|
|
70
68
|
|
|
71
|
-
1. `.
|
|
69
|
+
1. `.claude/skills/simple-seed/templates/02_概要設計/システム全体俯瞰.md` を使い `docs/02_概要設計/システム全体俯瞰.md` を作る
|
|
72
70
|
2. 必要なら ADR を作る(作成ルールは下記)
|
|
73
71
|
|
|
74
72
|
### ADR 作成ルール(必要時のみ)
|
|
@@ -101,13 +99,13 @@ Phase 5: architecture contract 化
|
|
|
101
99
|
|
|
102
100
|
`style: ddd` の場合(ドメイン → UC → DB・外部サービス の順に設計する):
|
|
103
101
|
|
|
104
|
-
1. `.
|
|
105
|
-
2. `.
|
|
102
|
+
1. `.claude/skills/ddd-seed/templates/03_詳細設計/01_ドメイン/{ドメイン名}.md` を使い、ドメインごとにビジネスルール・集約を整理し `docs/03_詳細設計/01_ドメイン/{ドメイン名}.md` を作る
|
|
103
|
+
2. `.claude/skills/ddd-seed/templates/03_詳細設計/02_ユースケース/UC-{日本語名}.md` を使い、UC ごとに `docs/03_詳細設計/02_ユースケース/UC-{日本語名}.md` を作る(シーケンス図は Mermaid で埋め込む)
|
|
106
104
|
3. DB・外部サービスの仕様が必要なら `docs/03_詳細設計/03_DB・外部サービス/` を作る
|
|
107
105
|
|
|
108
106
|
`style: layered` の場合(UC → DB・外部サービス の順に設計する):
|
|
109
107
|
|
|
110
|
-
1. `.
|
|
108
|
+
1. `.claude/skills/simple-seed/templates/03_詳細設計/01_ユースケース/UC-{日本語名}.md` を使い、UC ごとに `docs/03_詳細設計/01_ユースケース/UC-{日本語名}.md` を作る
|
|
111
109
|
2. DB・外部サービスの仕様が必要なら `docs/03_詳細設計/02_DB・外部サービス/` を作る
|
|
112
110
|
|
|
113
111
|
各ファイルの `maps_to` に対応コードとテストを必ず入れる。ユーザーに確認・承認を得る。
|
|
@@ -118,9 +116,3 @@ Phase 5: architecture contract 化
|
|
|
118
116
|
2. 現状構造を project 専用 skill へ渡せる粒度に整える
|
|
119
117
|
3. `architecture-skill-development` へ引き渡す
|
|
120
118
|
|
|
121
|
-
## 原則
|
|
122
|
-
|
|
123
|
-
- docs は正本。draft であっても `spec_runner` frontmatter とテンプレートを使う
|
|
124
|
-
- `maps_to` は必ず設定する。パス推定に頼らない
|
|
125
|
-
- 既存コードを正として観測する。推測する場合は明示する
|
|
126
|
-
- `depends_on` を使って後続変更に耐える形へ整える
|
|
@@ -5,8 +5,6 @@ description: skills・rules・agents・テンプレートを改善・保守す
|
|
|
5
5
|
|
|
6
6
|
# harness-engineering
|
|
7
7
|
|
|
8
|
-
skills・rules・agents・テンプレートを改善するためのメタスキル。主目的の作業を先に進め、再利用価値のある改善が必要なときだけ使う。
|
|
9
|
-
|
|
10
8
|
## 使うタイミング
|
|
11
9
|
|
|
12
10
|
以下のいずれかに当てはまるときに使う。
|
|
@@ -23,8 +21,6 @@ skills・rules・agents・テンプレートを改善するためのメタスキ
|
|
|
23
21
|
- アプリケーションコードに対する TDD
|
|
24
22
|
- 単なる言い回しの微調整で済む変更
|
|
25
23
|
|
|
26
|
-
TDD はこのスキルの対象ではない。TDD は `test-driven-development` スキルに従い、対象プロダクトのコード品質を上げるために行う。
|
|
27
|
-
|
|
28
24
|
## 全体フロー
|
|
29
25
|
|
|
30
26
|
```
|
|
@@ -36,68 +32,33 @@ Phase 4: 影響範囲の反映確認
|
|
|
36
32
|
|
|
37
33
|
## Phase 1: 問題の抽出
|
|
38
34
|
|
|
39
|
-
### 手順
|
|
40
|
-
|
|
41
35
|
1. 今回の作業で何が詰まり、どこに無駄が出たかを整理する
|
|
42
36
|
2. その問題が一時的なものか、再発しうる構造的な問題かを判定する
|
|
43
|
-
3.
|
|
44
|
-
- skill
|
|
45
|
-
- rule
|
|
46
|
-
- agent
|
|
47
|
-
- template
|
|
37
|
+
3. 改善対象を特定する(skill / rule / agent / template)
|
|
48
38
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- 問題の要約
|
|
52
|
-
- 再発条件
|
|
53
|
-
- 変更対象の候補一覧
|
|
39
|
+
**出力:** 問題の要約・再発条件・変更対象の候補一覧
|
|
54
40
|
|
|
55
41
|
## Phase 2: 対応方針の決定
|
|
56
42
|
|
|
57
|
-
1.
|
|
43
|
+
1. 最小変更で解決できる対象を選ぶ(まず既存の資産を直す。新しい skill は繰り返し使う独立したワークフローがある場合だけ追加する)
|
|
58
44
|
2. 新しい skill を増やすべきか、既存 skill / rule / agent の修正で十分かを判断する
|
|
59
45
|
3. Claude / Copilot の両テンプレートに影響するか確認する
|
|
60
46
|
|
|
61
|
-
### 判断原則
|
|
62
|
-
|
|
63
|
-
- まず既存の資産を直す
|
|
64
|
-
- 新しい skill は、繰り返し使う独立したワークフローがある場合だけ追加する
|
|
65
|
-
- 一時的な事情を恒久ルールにしない
|
|
66
|
-
|
|
67
47
|
## Phase 3: skill / rule / agent / template の修正
|
|
68
48
|
|
|
69
|
-
ファイルを作成・修正する前に `.
|
|
49
|
+
ファイルを作成・修正する前に `.claude/skills/harness-engineering/references/harness-format.md` を読み、フォーマットを確認する。
|
|
70
50
|
|
|
71
51
|
1. 対象ファイルを特定する
|
|
72
|
-
2.
|
|
73
|
-
3.
|
|
74
|
-
- `.claude/`
|
|
75
|
-
- `.github/`
|
|
52
|
+
2. 意図が変わらない最小差分で修正する(役割の重複を増やさない。既存スキルの主要フローを壊さない。ユーザー承認が前提のフローは勝手に短絡しない)
|
|
53
|
+
3. `.claude/` と `.github/` を対で更新する
|
|
76
54
|
4. references や templates を参照している場合、必要な範囲だけ更新する
|
|
77
55
|
|
|
78
|
-
### 修正時の注意
|
|
79
|
-
|
|
80
|
-
- 役割の重複を増やさない
|
|
81
|
-
- 既存スキルの主要フローを壊さない
|
|
82
|
-
- ユーザー承認が前提のフローは勝手に短絡しない
|
|
83
|
-
- アプリコード向けの TDD ルールを、このスキルの改善目的と混同しない
|
|
84
|
-
|
|
85
56
|
## Phase 4: 影響範囲の反映確認
|
|
86
57
|
|
|
87
|
-
### 確認項目
|
|
88
|
-
|
|
89
58
|
- 問題の原因に対して、変更箇所が直接効いているか
|
|
90
59
|
- 関連する skill / rule / agent / template の記述が矛盾していないか
|
|
91
60
|
- Claude / Copilot の対応ファイルに反映漏れがないか
|
|
92
61
|
- 今回限りのノイズをルール化していないか
|
|
93
62
|
- skill 名・起動条件・使いどころを変更した場合、`CLAUDE.md` の記述と一致しているか
|
|
94
|
-
- `CLAUDE.md` が肥大化していないか(20
|
|
95
|
-
- docs 構造・命名規則・node_id 体系に影響する変更の場合、`design-docs.
|
|
96
|
-
|
|
97
|
-
## 原則
|
|
98
|
-
|
|
99
|
-
- ハーネス改善は常時実行しない。必要なときだけ行う
|
|
100
|
-
- 主目的の作業を優先する
|
|
101
|
-
- 最小変更で改善する
|
|
102
|
-
- 新しい skill の追加は慎重に行う
|
|
103
|
-
- TDD の責務を skill 改善と混同しない
|
|
63
|
+
- `CLAUDE.md` が肥大化していないか(20行超えたら `rules/` や `skills/` へ移動を検討する)
|
|
64
|
+
- docs 構造・命名規則・node_id 体系に影響する変更の場合、`design-docs.md` と整合しているか
|
|
@@ -4,8 +4,6 @@ applyTo: "**"
|
|
|
4
4
|
|
|
5
5
|
# ハーネスファイルフォーマット
|
|
6
6
|
|
|
7
|
-
`harness-engineering` や `architecture-skill-development` で rules / agents / skills を作成・修正するときは、このフォーマットに従う。
|
|
8
|
-
|
|
9
7
|
## rule ファイル(`.github/instructions/*.instructions.md`)
|
|
10
8
|
|
|
11
9
|
```markdown
|
|
@@ -67,7 +65,7 @@ CLAUDE.md は全会話で常にコンテキストに読み込まれる。書く
|
|
|
67
65
|
|
|
68
66
|
| 内容 | 正しい置き場所 |
|
|
69
67
|
|------|--------------|
|
|
70
|
-
| コーディング規約の詳細 | `.github/instructions/
|
|
68
|
+
| コーディング規約の詳細 | `.github/instructions/code-style.instructions.md` |
|
|
71
69
|
| フォーマット定義・手順 | `.github/instructions/*.instructions.md` |
|
|
72
70
|
| スキルの詳細フロー | `.github/skills/*/SKILL.md` |
|
|
73
71
|
| 過去の決定・背景 | `docs/02_概要設計/90_ADR/` |
|
|
@@ -85,3 +83,11 @@ CLAUDE.md は全会話で常にコンテキストに読み込まれる。書く
|
|
|
85
83
|
- 両方 → `.claude/` と `.github/` を対で更新する
|
|
86
84
|
- `description` は「何をするか」より「いつ・なぜ使うか」を優先して書く
|
|
87
85
|
- 新規作成時は既存ファイルを参考にフォーマットを確認してから作る
|
|
86
|
+
|
|
87
|
+
## 書き方の原則
|
|
88
|
+
|
|
89
|
+
- H1 は用途を示す。description の言い換えは書かない
|
|
90
|
+
- H1 直下に説明文を置かない。description に書いたことを本文で繰り返さない
|
|
91
|
+
- `(読み取り専用)` のような付記は H1 に入れない。tools の構成で表現する
|
|
92
|
+
- agent のテンプレート注記(「このファイルはテンプレートです」)は agent ファイルに書かない。test-config.md に書く
|
|
93
|
+
- agent の書き順: ヘッダー → H1 → 前提・入力(必要な場合のみ) → 手順 → 報告フォーマット
|
|
@@ -5,8 +5,17 @@ description: レイヤードアーキテクチャ / CRUD 中心のプロジェ
|
|
|
5
5
|
|
|
6
6
|
# simple-seed
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
## 前提: architecture.yaml の読み込み
|
|
9
|
+
|
|
10
|
+
開始前に `.spec-runner/architecture/architecture.yaml` を読み、以下を確認する:
|
|
11
|
+
|
|
12
|
+
| キー | 用途 |
|
|
13
|
+
|------|------|
|
|
14
|
+
| `style` | このスキル(`layered`)が適切かを確認 |
|
|
15
|
+
| `has_frontend` | `true` なら UC ファイルに「画面レイアウト」セクションを含める |
|
|
16
|
+
| `folder_structure` | `maps_to` パスの基準として参照する |
|
|
17
|
+
|
|
18
|
+
設計フェーズで新たな方針・コンポーネントが確定したら、都度 architecture.yaml を最新状態に保つ。
|
|
10
19
|
|
|
11
20
|
## 全体フロー
|
|
12
21
|
|
|
@@ -20,9 +29,10 @@ Phase 5: TDD → 実装
|
|
|
20
29
|
|
|
21
30
|
## 前提ルール
|
|
22
31
|
|
|
23
|
-
- docs は正本とし、各ドキュメントに `spec_runner
|
|
32
|
+
- docs は正本とし、各ドキュメントに `spec_runner`ヘッダーを付ける
|
|
24
33
|
- 詳細設計は `01_ユースケース/` `02_DB・外部サービス/` の 2 層で構成する
|
|
25
34
|
- `maps_to` は必ず設定する。パス推定に頼らない
|
|
35
|
+
- 実装ファイルのパスは UC ドキュメント本文に書かない。`maps_to` ヘッダーで管理する
|
|
26
36
|
- ユーザー承認なしに次フェーズへ進めない
|
|
27
37
|
|
|
28
38
|
## Phase 1: 要件定義
|
|
@@ -72,6 +82,8 @@ UC → DB・外部サービス の順に設計する。
|
|
|
72
82
|
|
|
73
83
|
テンプレート: `templates/03_詳細設計/01_ユースケース/UC-{日本語名}.md`
|
|
74
84
|
|
|
85
|
+
> `has_frontend: true` の場合は各 UC ファイルに「画面レイアウト」セクションを含める。`false` なら削除する。
|
|
86
|
+
|
|
75
87
|
```
|
|
76
88
|
docs/03_詳細設計/01_ユースケース/
|
|
77
89
|
UC-{日本語名}.md
|
|
@@ -91,12 +103,6 @@ docs/03_詳細設計/02_DB・外部サービス/
|
|
|
91
103
|
|
|
92
104
|
`test-driven-development` スキルへ移行する。
|
|
93
105
|
|
|
94
|
-
### 実装完了後
|
|
95
|
-
|
|
96
|
-
- `@design-reviewer` — 設計書⇔実装の整合性チェック
|
|
97
|
-
- `@code-reviewer` — コーディング規約への適合チェック
|
|
98
|
-
|
|
99
106
|
## 原則
|
|
100
107
|
|
|
101
108
|
- ドメイン層は持たない。ビジネスロジックは UC / サービス層で表現する
|
|
102
|
-
- `maps_to` は必ず設定する。パス推定に頼らない
|
|
@@ -10,6 +10,16 @@ spec_runner:
|
|
|
10
10
|
|
|
11
11
|
# ユースケース一覧
|
|
12
12
|
|
|
13
|
+
<!-- カテゴリは機能領域や画面単位で分ける。例: 認証、ユーザー管理、商品管理 など -->
|
|
14
|
+
|
|
15
|
+
## {カテゴリ名}
|
|
16
|
+
|
|
17
|
+
| UC ID | UC名 | 種別 | 概要 |
|
|
18
|
+
|-------|------|------|------|
|
|
19
|
+
| UC-{番号} | {UC名} | Command / Query | {概要} |
|
|
20
|
+
|
|
21
|
+
## {カテゴリ名}
|
|
22
|
+
|
|
13
23
|
| UC ID | UC名 | 種別 | 概要 |
|
|
14
24
|
|-------|------|------|------|
|
|
15
25
|
| UC-{番号} | {UC名} | Command / Query | {概要} |
|
|
@@ -46,6 +46,21 @@ sequenceDiagram
|
|
|
46
46
|
|------------|---------|------|
|
|
47
47
|
| {エラーケース} | {発生条件} | {対応} |
|
|
48
48
|
|
|
49
|
+
## 画面レイアウト
|
|
50
|
+
|
|
51
|
+
> `has_frontend: true` のときのみ記載する。不要なら削除する。
|
|
52
|
+
|
|
53
|
+
- 画面名: {画面名}
|
|
54
|
+
- 遷移元: {前の画面 or -}
|
|
55
|
+
- 遷移先: {次の画面 or -}
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
{画面レイアウト概要 — ASCII art / Markdown テーブルで表現}
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
- 主要 UI 要素:
|
|
62
|
+
- {入力フォーム・ボタン・一覧表示など}
|
|
63
|
+
|
|
49
64
|
## テスト観点
|
|
50
65
|
|
|
51
66
|
- {正常系の観点}
|