spec-runner 1.5.0 → 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.
Files changed (19) hide show
  1. package/package.json +1 -1
  2. package/spec-runner/templates/.claude/skills/architecture-definition/SKILL.md +10 -2
  3. package/spec-runner/templates/.claude/skills/architecture-skill-development/SKILL.md +4 -2
  4. package/spec-runner/templates/.claude/skills/ddd-seed/SKILL.md +15 -0
  5. package/spec-runner/templates/.claude/skills/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
  6. package/spec-runner/templates/.claude/skills/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
  7. package/spec-runner/templates/.claude/skills/design-change/SKILL.md +12 -0
  8. package/spec-runner/templates/.claude/skills/simple-seed/SKILL.md +15 -0
  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
  10. 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
  11. package/spec-runner/templates/.github/skills/architecture-definition/SKILL.md +10 -2
  12. package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +4 -2
  13. package/spec-runner/templates/.github/skills/ddd-seed/SKILL.md +15 -0
  14. package/spec-runner/templates/.github/skills/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
  15. package/spec-runner/templates/.github/skills/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
  16. package/spec-runner/templates/.github/skills/design-change/SKILL.md +12 -0
  17. package/spec-runner/templates/.github/skills/simple-seed/SKILL.md +15 -0
  18. 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
  19. 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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-runner",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "docs を正本にした開発運用ハーネスを Claude / Copilot に導入する",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -31,7 +31,14 @@ Phase 5: architecture-skill-development へ自動移行
31
31
  | `ddd` | 複雑なビジネスドメインがある。集約・境界コンテキストで設計する必要がある |
32
32
  | `layered` | CRUD 中心またはビジネスロジックがシンプル。UC・サービス層で設計すれば十分 |
33
33
 
34
- 6. 使用する AI 連携を確認する
34
+ 6. フロントエンドの有無を確認する
35
+
36
+ | 値 | 基準 |
37
+ |----|------|
38
+ | `true` | Web UI・モバイル画面がある |
39
+ | `false` | API・バックエンドのみ |
40
+
41
+ 7. 使用する AI 連携を確認する
35
42
 
36
43
  | 連携 | フォルダ |
37
44
  |------|---------|
@@ -39,7 +46,7 @@ Phase 5: architecture-skill-development へ自動移行
39
46
  | `github` | `.github/`(GitHub Copilot) |
40
47
  | 両方 | `.claude/` と `.github/` |
41
48
 
42
- 7. ユーザーに確認・承認を得る
49
+ 8. ユーザーに確認・承認を得る
43
50
 
44
51
  ## Phase 2: フォルダ構造の決定
45
52
 
@@ -65,6 +72,7 @@ Phase 5: architecture-skill-development へ自動移行
65
72
  2. 最低限、以下を構造化する
66
73
  - **integrations**: Phase 1 で確認した連携(`[claude]` / `[github]` / `[claude, github]`)
67
74
  - **style**: Phase 1 で選択したスタイル(`ddd` / `layered`)
75
+ - **has_frontend**: Phase 1 で確認したフロントエンドの有無(`true` / `false`)
68
76
  - **folder_structure**: Phase 2 で決定した構造(`src/` / `tests/` / `docs/` など)
69
77
  - domain_structure(style: ddd のときのみ)
70
78
  - runtime_units
@@ -39,13 +39,15 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
39
39
 
40
40
  ### seed の選択
41
41
 
42
- `architecture.yaml` の `style` を読み、使う seed を決める。
42
+ `architecture.yaml` の `style` と `has_frontend` を読み、使う seed を決める。
43
43
 
44
44
  | style | 使う seed | 説明 |
45
45
  |-------|----------|------|
46
46
  | `ddd` | `ddd-seed` | ドメイン層(集約・値オブジェクト)を持つ DDD 向けフロー |
47
47
  | `layered` | `simple-seed` | ドメイン層を持たない UC・サービス層中心のフロー |
48
48
 
49
+ `has_frontend: true` の場合、seed から生成するプロジェクト専用スキルに「UC ファイルに画面レイアウトセクションを含める」旨を明記する。
50
+
49
51
  選んだ seed の SKILL.md をコピーし、フェーズ構成・テンプレートパス・用語をこのプロジェクトの実態に合わせて書き換えたプロジェクト専用 skill を作る(Phase 1 は完了済みのため削除する。元の seed はアーカイブ候補とする)。
50
52
 
51
53
  4. ユーザーに確認・承認を得る
@@ -118,7 +120,7 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
118
120
  3. 必要であれば削除前にバックアップ先をユーザーに伝える
119
121
  4. `.spec-runner/` の不要ファイルも整理する
120
122
  - `intake/current-system-inventory.md` — docs に昇格済みなら削除してよい
121
- - `architecture/architecture.yaml` — project 専用 skill が完成し、参照不要になったら削除してよい
123
+ - `architecture/architecture.yaml` — **削除しない**。設計変更のたびに最新状態を保つ。プロジェクトの全体像を把握するための正本として使い続ける
122
124
  - `scripts/scan.js` — **削除しない**。`@analyze-impact` が常時依存しているため
123
125
  5. `CLAUDE.md` を更新する
124
126
  - 「初回自動起動」セクション(spec-runner インストール時に生成されたもの)を削除する
@@ -5,6 +5,18 @@ description: UC/DDD 駆動の docs 正本開発フローの種。新規プロジ
5
5
 
6
6
  # ddd-seed
7
7
 
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 を最新状態に保つ。
19
+
8
20
  ## 全体フロー
9
21
 
10
22
  ```
@@ -21,6 +33,7 @@ Phase 5: TDD → 実装
21
33
  - 詳細設計は `01_ドメイン/` `02_ユースケース/` `03_DB・外部サービス/` の 3 層で構成する
22
34
  - ドメインを先に設計し、UC はドメインを参照する形で書く。ドメインの中に UC は入れない
23
35
  - `maps_to` は必ず設定する。パス推定に頼らない
36
+ - 実装ファイルのパスは UC ドキュメント本文に書かない。`maps_to` ヘッダーで管理する
24
37
  - ユーザー承認なしに次フェーズへ進めない
25
38
 
26
39
  ## Phase 1: 要件定義
@@ -91,6 +104,8 @@ docs/03_詳細設計/01_ドメイン/
91
104
 
92
105
  テンプレート: `templates/03_詳細設計/02_ユースケース/UC-{日本語名}.md`
93
106
 
107
+ > `has_frontend: true` の場合は各 UC ファイルに「画面レイアウト」セクションを含める。`false` なら削除する。
108
+
94
109
  ```
95
110
  docs/03_詳細設計/02_ユースケース/
96
111
  UC-{日本語名}.md
@@ -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
  - {正常系の観点}
@@ -10,6 +10,18 @@ description: 既存機能の変更を docs 正本で進めるフローガイド
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
  ```
@@ -5,6 +5,18 @@ description: レイヤードアーキテクチャ / CRUD 中心のプロジェ
5
5
 
6
6
  # simple-seed
7
7
 
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 を最新状態に保つ。
19
+
8
20
  ## 全体フロー
9
21
 
10
22
  ```
@@ -20,6 +32,7 @@ Phase 5: TDD → 実装
20
32
  - docs は正本とし、各ドキュメントに `spec_runner`ヘッダーを付ける
21
33
  - 詳細設計は `01_ユースケース/` `02_DB・外部サービス/` の 2 層で構成する
22
34
  - `maps_to` は必ず設定する。パス推定に頼らない
35
+ - 実装ファイルのパスは UC ドキュメント本文に書かない。`maps_to` ヘッダーで管理する
23
36
  - ユーザー承認なしに次フェーズへ進めない
24
37
 
25
38
  ## Phase 1: 要件定義
@@ -69,6 +82,8 @@ UC → DB・外部サービス の順に設計する。
69
82
 
70
83
  テンプレート: `templates/03_詳細設計/01_ユースケース/UC-{日本語名}.md`
71
84
 
85
+ > `has_frontend: true` の場合は各 UC ファイルに「画面レイアウト」セクションを含める。`false` なら削除する。
86
+
72
87
  ```
73
88
  docs/03_詳細設計/01_ユースケース/
74
89
  UC-{日本語名}.md
@@ -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
  - {正常系の観点}
@@ -31,7 +31,14 @@ Phase 5: architecture-skill-development へ自動移行
31
31
  | `ddd` | 複雑なビジネスドメインがある。集約・境界コンテキストで設計する必要がある |
32
32
  | `layered` | CRUD 中心またはビジネスロジックがシンプル。UC・サービス層で設計すれば十分 |
33
33
 
34
- 6. 使用する AI 連携を確認する
34
+ 6. フロントエンドの有無を確認する
35
+
36
+ | 値 | 基準 |
37
+ |----|------|
38
+ | `true` | Web UI・モバイル画面がある |
39
+ | `false` | API・バックエンドのみ |
40
+
41
+ 7. 使用する AI 連携を確認する
35
42
 
36
43
  | 連携 | フォルダ |
37
44
  |------|---------|
@@ -39,7 +46,7 @@ Phase 5: architecture-skill-development へ自動移行
39
46
  | `github` | `.github/`(GitHub Copilot) |
40
47
  | 両方 | `.claude/` と `.github/` |
41
48
 
42
- 7. ユーザーに確認・承認を得る
49
+ 8. ユーザーに確認・承認を得る
43
50
 
44
51
  ## Phase 2: フォルダ構造の決定
45
52
 
@@ -65,6 +72,7 @@ Phase 5: architecture-skill-development へ自動移行
65
72
  2. 最低限、以下を構造化する
66
73
  - **integrations**: Phase 1 で確認した連携(`[claude]` / `[github]` / `[claude, github]`)
67
74
  - **style**: Phase 1 で選択したスタイル(`ddd` / `layered`)
75
+ - **has_frontend**: Phase 1 で確認したフロントエンドの有無(`true` / `false`)
68
76
  - **folder_structure**: Phase 2 で決定した構造(`src/` / `tests/` / `docs/` など)
69
77
  - domain_structure(style: ddd のときのみ)
70
78
  - runtime_units
@@ -39,13 +39,15 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
39
39
 
40
40
  ### seed の選択
41
41
 
42
- `architecture.yaml` の `style` を読み、使う seed を決める。
42
+ `architecture.yaml` の `style` と `has_frontend` を読み、使う seed を決める。
43
43
 
44
44
  | style | 使う seed | 説明 |
45
45
  |-------|----------|------|
46
46
  | `ddd` | `ddd-seed` | ドメイン層(集約・値オブジェクト)を持つ DDD 向けフロー |
47
47
  | `layered` | `simple-seed` | ドメイン層を持たない UC・サービス層中心のフロー |
48
48
 
49
+ `has_frontend: true` の場合、seed から生成するプロジェクト専用スキルに「UC ファイルに画面レイアウトセクションを含める」旨を明記する。
50
+
49
51
  選んだ seed の SKILL.md をコピーし、フェーズ構成・テンプレートパス・用語をこのプロジェクトの実態に合わせて書き換えたプロジェクト専用 skill を作る(Phase 1 は完了済みのため削除する。元の seed はアーカイブ候補とする)。
50
52
 
51
53
  4. ユーザーに確認・承認を得る
@@ -118,7 +120,7 @@ Phase 6: セットアップ専用 skill のアーカイブ提案
118
120
  3. 必要であれば削除前にバックアップ先をユーザーに伝える
119
121
  4. `.spec-runner/` の不要ファイルも整理する
120
122
  - `intake/current-system-inventory.md` — docs に昇格済みなら削除してよい
121
- - `architecture/architecture.yaml` — project 専用 skill が完成し、参照不要になったら削除してよい
123
+ - `architecture/architecture.yaml` — **削除しない**。設計変更のたびに最新状態を保つ。プロジェクトの全体像を把握するための正本として使い続ける
122
124
  - `scripts/scan.js` — **削除しない**。`@analyze-impact` が常時依存しているため
123
125
  5. `CLAUDE.md` を更新する
124
126
  - 「初回自動起動」セクション(spec-runner インストール時に生成されたもの)を削除する
@@ -5,6 +5,18 @@ description: UC/DDD 駆動の docs 正本開発フローの種。新規プロジ
5
5
 
6
6
  # ddd-seed
7
7
 
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 を最新状態に保つ。
19
+
8
20
  ## 全体フロー
9
21
 
10
22
  ```
@@ -21,6 +33,7 @@ Phase 5: TDD → 実装
21
33
  - 詳細設計は `01_ドメイン/` `02_ユースケース/` `03_DB・外部サービス/` の 3 層で構成する
22
34
  - ドメインを先に設計し、UC はドメインを参照する形で書く。ドメインの中に UC は入れない
23
35
  - `maps_to` は必ず設定する。パス推定に頼らない
36
+ - 実装ファイルのパスは UC ドキュメント本文に書かない。`maps_to` ヘッダーで管理する
24
37
  - ユーザー承認なしに次フェーズへ進めない
25
38
 
26
39
  ## Phase 1: 要件定義
@@ -91,6 +104,8 @@ docs/03_詳細設計/01_ドメイン/
91
104
 
92
105
  テンプレート: `templates/03_詳細設計/02_ユースケース/UC-{日本語名}.md`
93
106
 
107
+ > `has_frontend: true` の場合は各 UC ファイルに「画面レイアウト」セクションを含める。`false` なら削除する。
108
+
94
109
  ```
95
110
  docs/03_詳細設計/02_ユースケース/
96
111
  UC-{日本語名}.md
@@ -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
  - {正常系の観点}
@@ -10,6 +10,18 @@ description: 既存機能の変更を docs 正本で進めるフローガイド
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
  ```
@@ -5,6 +5,18 @@ description: レイヤードアーキテクチャ / CRUD 中心のプロジェ
5
5
 
6
6
  # simple-seed
7
7
 
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 を最新状態に保つ。
19
+
8
20
  ## 全体フロー
9
21
 
10
22
  ```
@@ -20,6 +32,7 @@ Phase 5: TDD → 実装
20
32
  - docs は正本とし、各ドキュメントに `spec_runner`ヘッダーを付ける
21
33
  - 詳細設計は `01_ユースケース/` `02_DB・外部サービス/` の 2 層で構成する
22
34
  - `maps_to` は必ず設定する。パス推定に頼らない
35
+ - 実装ファイルのパスは UC ドキュメント本文に書かない。`maps_to` ヘッダーで管理する
23
36
  - ユーザー承認なしに次フェーズへ進めない
24
37
 
25
38
  ## Phase 1: 要件定義
@@ -69,6 +82,8 @@ UC → DB・外部サービス の順に設計する。
69
82
 
70
83
  テンプレート: `templates/03_詳細設計/01_ユースケース/UC-{日本語名}.md`
71
84
 
85
+ > `has_frontend: true` の場合は各 UC ファイルに「画面レイアウト」セクションを含める。`false` なら削除する。
86
+
72
87
  ```
73
88
  docs/03_詳細設計/01_ユースケース/
74
89
  UC-{日本語名}.md
@@ -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
  - {正常系の観点}