spec-runner 1.1.13 → 1.1.17
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/bin/spec-runner-installer.js +63 -0
- package/package.json +1 -1
- package/spec-runner/templates/.claude/agents/design-reviewer.md +8 -8
- package/spec-runner/templates/.claude/agents/impact-analyzer.md +35 -11
- package/spec-runner/templates/.claude/rules/coding.md +11 -0
- package/spec-runner/templates/.claude/rules/design-docs.md +52 -18
- package/spec-runner/templates/.claude/rules/harness-formats.md +93 -0
- package/spec-runner/templates/.claude/settings.json +15 -0
- package/spec-runner/templates/.claude/skills/architecture-definition/SKILL.md +43 -15
- package/spec-runner/templates/.claude/skills/architecture-skill-development/SKILL.md +26 -21
- package/spec-runner/templates/.claude/skills/design-change/SKILL.md +14 -12
- package/spec-runner/templates/.claude/skills/design-change/templates/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -32
- package/spec-runner/templates/.claude/skills/docs-driven-seed/SKILL.md +127 -0
- package/spec-runner/templates/.claude/skills/docs-driven-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 +15 -0
- package/spec-runner/templates/.claude/skills/docs-driven-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 +34 -0
- package/spec-runner/templates/.claude/skills/docs-driven-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 +33 -0
- package/spec-runner/templates/.claude/skills/docs-driven-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 +32 -0
- package/spec-runner/templates/.claude/skills/docs-driven-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 +15 -0
- package/spec-runner/templates/.claude/skills/docs-driven-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 +56 -0
- package/spec-runner/templates/.claude/skills/docs-driven-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 +55 -0
- package/spec-runner/templates/.claude/skills/existing-project-to-docs/SKILL.md +12 -9
- package/spec-runner/templates/.claude/skills/harness-engineering/SKILL.md +4 -0
- package/spec-runner/templates/.claude/skills/simple-seed/SKILL.md +105 -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 +53 -0
- package/spec-runner/templates/.claude/skills/test-driven-development/SKILL.md +104 -7
- package/spec-runner/templates/.github/agents/design-reviewer.agent.md +8 -8
- package/spec-runner/templates/.github/agents/impact-analyzer.agent.md +35 -11
- package/spec-runner/templates/.github/instructions/coding.instructions.md +11 -0
- package/spec-runner/templates/.github/instructions/design-docs.instructions.md +52 -18
- package/spec-runner/templates/.github/instructions/harness-formats.instructions.md +87 -0
- package/spec-runner/templates/.github/skills/architecture-definition/SKILL.md +43 -15
- package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +26 -21
- package/spec-runner/templates/.github/skills/design-change/SKILL.md +14 -12
- package/spec-runner/templates/.github/skills/design-change/templates/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -32
- package/spec-runner/templates/.github/skills/docs-driven-seed/SKILL.md +127 -0
- package/spec-runner/templates/.github/skills/docs-driven-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 +15 -0
- package/spec-runner/templates/.github/skills/docs-driven-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 +34 -0
- package/spec-runner/templates/.github/skills/docs-driven-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 +33 -0
- package/spec-runner/templates/.github/skills/docs-driven-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 +32 -0
- package/spec-runner/templates/.github/skills/docs-driven-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 +15 -0
- package/spec-runner/templates/.github/skills/docs-driven-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 +56 -0
- package/spec-runner/templates/.github/skills/docs-driven-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 +55 -0
- package/spec-runner/templates/.github/skills/existing-project-to-docs/SKILL.md +12 -9
- package/spec-runner/templates/.github/skills/harness-engineering/SKILL.md +4 -0
- package/spec-runner/templates/.github/skills/simple-seed/SKILL.md +105 -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 +53 -0
- package/spec-runner/templates/.github/skills/test-driven-development/SKILL.md +104 -7
- package/spec-runner/templates/.spec-runner/scripts/scan.js +156 -0
- package/spec-runner/templates/.claude/skills/plugin-development/SKILL.md +0 -173
- package/spec-runner/templates/.claude/skills/plugin-development/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//346/246/202/350/246/201/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -88
- package/spec-runner/templates/.claude/skills/plugin-development/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -81
- package/spec-runner/templates/.claude/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -80
- package/spec-runner/templates/.claude/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -57
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/aws.md +0 -53
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/database.md +0 -54
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/schema.dbml +0 -25
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/sequence//343/202/267/343/203/274/343/202/261/343/203/263/343/202/271/345/233/263/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -28
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/agent.md +0 -56
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/config.md +0 -47
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/domain.md +0 -67
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/prompts.md +0 -72
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/skills/{skill_name}/skill.md +0 -53
- package/spec-runner/templates/.claude/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/tools/{tool_name}/tool.md +0 -51
- package/spec-runner/templates/.github/skills/plugin-development/SKILL.md +0 -173
- package/spec-runner/templates/.github/skills/plugin-development/templates/01_/350/246/201/344/273/266/345/256/232/347/276/251//346/246/202/350/246/201/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -88
- package/spec-runner/templates/.github/skills/plugin-development/templates/02_/346/246/202/350/246/201/350/250/255/350/250/210/90_ADR/ADR/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -81
- package/spec-runner/templates/.github/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -80
- package/spec-runner/templates/.github/skills/plugin-development/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/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -57
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/aws.md +0 -53
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/database.md +0 -54
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/schema.dbml +0 -25
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/infrastructure/sequence//343/202/267/343/203/274/343/202/261/343/203/263/343/202/271/345/233/263/343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210.md +0 -28
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/agent.md +0 -56
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/config.md +0 -47
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/domain.md +0 -67
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/agents/{agent_name}/prompts.md +0 -72
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/skills/{skill_name}/skill.md +0 -53
- package/spec-runner/templates/.github/skills/plugin-development/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210/src/plugins/tools/{tool_name}/tool.md +0 -51
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: req.{project_slug}
|
|
4
|
-
kind: requirements
|
|
5
|
-
depends_on: []
|
|
6
|
-
maps_to: []
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
# {プロジェクト名} 要件定義
|
|
10
|
-
|
|
11
|
-
## 背景・問題提起
|
|
12
|
-
|
|
13
|
-
### 解決すべき課題
|
|
14
|
-
|
|
15
|
-
**課題1: {課題名}**
|
|
16
|
-
|
|
17
|
-
- {問題の詳細}
|
|
18
|
-
- {現状の問題点}
|
|
19
|
-
- {影響範囲}
|
|
20
|
-
|
|
21
|
-
**課題2: {課題名}**
|
|
22
|
-
|
|
23
|
-
- {問題の詳細}
|
|
24
|
-
- {現状の問題点}
|
|
25
|
-
- {影響範囲}
|
|
26
|
-
|
|
27
|
-
## 提供価値
|
|
28
|
-
|
|
29
|
-
### 主要機能
|
|
30
|
-
|
|
31
|
-
1. **{機能名}**
|
|
32
|
-
- {機能の概要}
|
|
33
|
-
- {提供価値}
|
|
34
|
-
|
|
35
|
-
2. **{機能名}**
|
|
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
|
-
- {制約内容}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: adr.{decision_slug}
|
|
4
|
-
kind: adr
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to: []
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# {決定内容のタイトル}
|
|
11
|
-
|
|
12
|
-
**ステータス**: 提案 / 採用 / 廃止 / 置換
|
|
13
|
-
**日付**: YYYY-MM-DD
|
|
14
|
-
**決定者**: {名前}
|
|
15
|
-
|
|
16
|
-
## コンテキスト
|
|
17
|
-
|
|
18
|
-
| 項目 | 内容 |
|
|
19
|
-
|------|------|
|
|
20
|
-
| 現在の状況 | {問題・課題} |
|
|
21
|
-
| 要件 | {実現する必要があること} |
|
|
22
|
-
| 制約 | {技術的・ビジネス的制約} |
|
|
23
|
-
|
|
24
|
-
## 選択肢
|
|
25
|
-
|
|
26
|
-
### 案1: {案1の名前}
|
|
27
|
-
|
|
28
|
-
- 概要: {何をするか}
|
|
29
|
-
- メリット:
|
|
30
|
-
- {メリット}
|
|
31
|
-
- デメリット:
|
|
32
|
-
- {デメリット}
|
|
33
|
-
- 適合性: {このプロジェクトにどう合うか}
|
|
34
|
-
|
|
35
|
-
### 案2: {案2の名前}
|
|
36
|
-
|
|
37
|
-
- 概要: {何をするか}
|
|
38
|
-
- メリット:
|
|
39
|
-
- {メリット}
|
|
40
|
-
- デメリット:
|
|
41
|
-
- {デメリット}
|
|
42
|
-
- 適合性: {このプロジェクトにどう合うか}
|
|
43
|
-
|
|
44
|
-
### 案3: {案3の名前}
|
|
45
|
-
|
|
46
|
-
- 概要: {何をするか}
|
|
47
|
-
- メリット:
|
|
48
|
-
- {メリット}
|
|
49
|
-
- デメリット:
|
|
50
|
-
- {デメリット}
|
|
51
|
-
- 適合性: {このプロジェクトにどう合うか}
|
|
52
|
-
|
|
53
|
-
## 決定
|
|
54
|
-
|
|
55
|
-
**採用案**: {案名}
|
|
56
|
-
|
|
57
|
-
### 採用理由
|
|
58
|
-
|
|
59
|
-
- {理由1}
|
|
60
|
-
- {理由2}
|
|
61
|
-
|
|
62
|
-
### 実装方針
|
|
63
|
-
|
|
64
|
-
1. {方針1}
|
|
65
|
-
2. {方針2}
|
|
66
|
-
3. {方針3}
|
|
67
|
-
|
|
68
|
-
## 影響
|
|
69
|
-
|
|
70
|
-
| カテゴリ | 項目 | 内容 |
|
|
71
|
-
|----------|------|------|
|
|
72
|
-
| システム | 新規追加 | {コンポーネント} |
|
|
73
|
-
| システム | 変更 | {コンポーネント} |
|
|
74
|
-
| パフォーマンス | 処理速度 | {変化} |
|
|
75
|
-
| コスト | 追加コスト | {影響} |
|
|
76
|
-
| 制約 | 将来課題 | {課題} |
|
|
77
|
-
|
|
78
|
-
### 反映が必要な文書
|
|
79
|
-
|
|
80
|
-
- `docs/02_概要設計/{対象文書}.md`
|
|
81
|
-
- `docs/03_詳細設計/src/{対象パス}.md`
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: overview.system_context
|
|
4
|
-
kind: overview
|
|
5
|
-
depends_on:
|
|
6
|
-
- req.{project_slug}
|
|
7
|
-
- overview.usecases
|
|
8
|
-
maps_to: []
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# システム全体俯瞰
|
|
12
|
-
|
|
13
|
-
## 目的
|
|
14
|
-
|
|
15
|
-
{システムの目的と全体的なアーキテクチャを説明する}
|
|
16
|
-
|
|
17
|
-
## 全体像
|
|
18
|
-
|
|
19
|
-
```mermaid
|
|
20
|
-
graph TB
|
|
21
|
-
subgraph Input["入力"]
|
|
22
|
-
A["{入力1}"]
|
|
23
|
-
B["{入力2}"]
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
subgraph Core["主要コンポーネント"]
|
|
27
|
-
C["{コンポーネント1}"]
|
|
28
|
-
D["{コンポーネント2}"]
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
subgraph External["外部 IF"]
|
|
32
|
-
E["{外部IF1}"]
|
|
33
|
-
F["{外部IF2}"]
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
A --> C
|
|
37
|
-
B --> D
|
|
38
|
-
C --> E
|
|
39
|
-
D --> F
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## 主要コンポーネント
|
|
43
|
-
|
|
44
|
-
| コンポーネント | 責務 | 実現するユースケース | 主な依存 |
|
|
45
|
-
|---------------|------|-------------------|----------|
|
|
46
|
-
| **{コンポーネント名}** | {責務の説明} | {UC一覧} | {依存一覧} |
|
|
47
|
-
|
|
48
|
-
## ドメイン責務
|
|
49
|
-
|
|
50
|
-
| ドメイン | 責務 | 主要な入出力 | 境界の根拠 |
|
|
51
|
-
|---------|------|------------|-----------|
|
|
52
|
-
| **{ドメイン名}** | {責務} | {入出力} | {根拠} |
|
|
53
|
-
|
|
54
|
-
## 外部 IF / 連携先
|
|
55
|
-
|
|
56
|
-
| IF名 | 相手先 | 目的 | 入力 | 出力 |
|
|
57
|
-
|------|--------|------|------|------|
|
|
58
|
-
| **{IF名}** | {相手先} | {目的} | {入力} | {出力} |
|
|
59
|
-
|
|
60
|
-
## データフロー
|
|
61
|
-
|
|
62
|
-
```mermaid
|
|
63
|
-
sequenceDiagram
|
|
64
|
-
participant User as ユーザー
|
|
65
|
-
participant App as {主要コンポーネント}
|
|
66
|
-
participant Tool as {ツールまたは外部IF}
|
|
67
|
-
|
|
68
|
-
User->>App: {操作}
|
|
69
|
-
App->>Tool: {依頼}
|
|
70
|
-
Tool-->>App: {結果}
|
|
71
|
-
App-->>User: {応答}
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
## 非機能・運用方針
|
|
75
|
-
|
|
76
|
-
| 項目 | 方針 | 根拠 |
|
|
77
|
-
|------|------|------|
|
|
78
|
-
| パフォーマンス | {方針} | {根拠} |
|
|
79
|
-
| セキュリティ | {方針} | {根拠} |
|
|
80
|
-
| 運用 | {方針} | {根拠} |
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: overview.usecases
|
|
4
|
-
kind: overview
|
|
5
|
-
depends_on:
|
|
6
|
-
- req.{project_slug}
|
|
7
|
-
maps_to: []
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# ユースケース一覧
|
|
11
|
-
|
|
12
|
-
## ユースケースマップ
|
|
13
|
-
|
|
14
|
-
```mermaid
|
|
15
|
-
graph LR
|
|
16
|
-
subgraph Domain1["{Domain1}"]
|
|
17
|
-
D1Q1["UC-{日本語名1}"]
|
|
18
|
-
D1C1["UC-{日本語名2}"]
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
subgraph Domain2["{Domain2}"]
|
|
22
|
-
D2Q1["UC-{日本語名3}"]
|
|
23
|
-
D2C1["UC-{日本語名4}"]
|
|
24
|
-
end
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
## {Domain1}
|
|
28
|
-
|
|
29
|
-
| ユースケース | 種別 | 概要 | アクター | 入力 | 出力 |
|
|
30
|
-
|------------|------|------|---------|------|------|
|
|
31
|
-
| **UC-{日本語名1}** | Query | {概要} | {アクター} | {入力} | {出力} |
|
|
32
|
-
| **UC-{日本語名2}** | Command | {概要} | {アクター} | {入力} | {出力} |
|
|
33
|
-
|
|
34
|
-
**特記事項**
|
|
35
|
-
|
|
36
|
-
- {前提条件}
|
|
37
|
-
- {例外条件}
|
|
38
|
-
|
|
39
|
-
## {Domain2}
|
|
40
|
-
|
|
41
|
-
| ユースケース | 種別 | 概要 | アクター | 入力 | 出力 |
|
|
42
|
-
|------------|------|------|---------|------|------|
|
|
43
|
-
| **UC-{日本語名3}** | Query | {概要} | {アクター} | {入力} | {出力} |
|
|
44
|
-
| **UC-{日本語名4}** | Command | {概要} | {アクター} | {入力} | {出力} |
|
|
45
|
-
|
|
46
|
-
**特記事項**
|
|
47
|
-
|
|
48
|
-
- {前提条件}
|
|
49
|
-
- {例外条件}
|
|
50
|
-
|
|
51
|
-
## ユースケース間の依存関係
|
|
52
|
-
|
|
53
|
-
```mermaid
|
|
54
|
-
graph TD
|
|
55
|
-
UC1["UC-{日本語名1}"] -->|"{関係}"| UC2["UC-{日本語名2}"]
|
|
56
|
-
UC2 -->|"{関係}"| UC3["UC-{日本語名3}"]
|
|
57
|
-
```
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.infrastructure.aws.{stack_slug}
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to:
|
|
8
|
-
- infra/{iac_path}
|
|
9
|
-
- src/infrastructure/{component_path}.py
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# AWS構成: {サービス名・機能名}
|
|
13
|
-
|
|
14
|
-
## アーキテクチャ図
|
|
15
|
-
|
|
16
|
-
```mermaid
|
|
17
|
-
graph LR
|
|
18
|
-
User[ユーザー] --> API[API Gateway]
|
|
19
|
-
API --> Lambda[Lambda]
|
|
20
|
-
Lambda --> RDS[(RDS)]
|
|
21
|
-
Lambda --> S3[S3]
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## AWSサービス構成
|
|
25
|
-
|
|
26
|
-
| サービス | リソース名 | 用途 | 設定値 |
|
|
27
|
-
|----------|-----------|------|--------|
|
|
28
|
-
| Lambda | `{function-name}` | {用途} | メモリ: {MB}, タイムアウト: {秒} |
|
|
29
|
-
| RDS | `{db-instance}` | {用途} | インスタンス: {type}, ストレージ: {GB} |
|
|
30
|
-
| S3 | `{bucket-name}` | {用途} | バージョニング: {有無} |
|
|
31
|
-
|
|
32
|
-
## IAM / ネットワーク
|
|
33
|
-
|
|
34
|
-
| 項目 | 設定 |
|
|
35
|
-
|------|------|
|
|
36
|
-
| IAMロール | {role-name} |
|
|
37
|
-
| VPC | {vpc-id} |
|
|
38
|
-
| サブネット | {subnet-ids} |
|
|
39
|
-
| セキュリティグループ | {sg-id}: {ルール} |
|
|
40
|
-
|
|
41
|
-
## デプロイ構成
|
|
42
|
-
|
|
43
|
-
| 項目 | 設定 |
|
|
44
|
-
|------|------|
|
|
45
|
-
| デプロイ方法 | {CDK / Terraform / CloudFormation} |
|
|
46
|
-
| デプロイ単位 | {スタック名} |
|
|
47
|
-
| 環境 | {dev / staging / production} |
|
|
48
|
-
|
|
49
|
-
## 監視・アラート
|
|
50
|
-
|
|
51
|
-
| 監視項目 | 閾値 | 通知先 |
|
|
52
|
-
|----------|------|--------|
|
|
53
|
-
| {メトリクス名} | {閾値} | {通知先} |
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.infrastructure.database
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to:
|
|
8
|
-
- src/infrastructure/{component_path}.py
|
|
9
|
-
- migrations/{migration_file}.sql
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
# データベース設計: {テーブル名・スキーマ名}
|
|
13
|
-
|
|
14
|
-
## スキーマ定義
|
|
15
|
-
|
|
16
|
-
**DBMLファイル**: `schema.dbml`
|
|
17
|
-
|
|
18
|
-
## テーブル設計方針
|
|
19
|
-
|
|
20
|
-
### {table_name}
|
|
21
|
-
|
|
22
|
-
**責務**: {このテーブルが担う役割}
|
|
23
|
-
|
|
24
|
-
**インデックス設計**
|
|
25
|
-
|
|
26
|
-
- `idx_{table}_{column}`: {理由}
|
|
27
|
-
- `idx_{table}_{column}`: {理由}
|
|
28
|
-
|
|
29
|
-
## アクセスパターン
|
|
30
|
-
|
|
31
|
-
| 操作 | クエリ | 頻度 | 使用インデックス |
|
|
32
|
-
|------|--------|------|----------------|
|
|
33
|
-
| {操作名} | `SELECT ...` | {高/中/低} | `idx_{table}_{column}` |
|
|
34
|
-
| {操作名} | `INSERT ...` | {高/中/低} | - |
|
|
35
|
-
|
|
36
|
-
## パフォーマンス考慮事項
|
|
37
|
-
|
|
38
|
-
- 想定データ量: {件数}
|
|
39
|
-
- 増加率: {増加件数}
|
|
40
|
-
- アーカイブ戦略: {方針}
|
|
41
|
-
|
|
42
|
-
## データ整合性
|
|
43
|
-
|
|
44
|
-
| 項目 | 方法 |
|
|
45
|
-
|------|------|
|
|
46
|
-
| トランザクション分離レベル | {READ COMMITTED / REPEATABLE READ} |
|
|
47
|
-
| 楽観的ロック | {使用有無・方法} |
|
|
48
|
-
| 悲観的ロック | {使用有無・方法} |
|
|
49
|
-
|
|
50
|
-
## テスト観点
|
|
51
|
-
|
|
52
|
-
- 主要クエリの成立
|
|
53
|
-
- インデックス前提の検索
|
|
54
|
-
- マイグレーション後方互換
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
// maps_to:
|
|
2
|
-
// - migrations/{migration_file}.sql
|
|
3
|
-
// - src/infrastructure/{component_path}.py
|
|
4
|
-
|
|
5
|
-
Table {table_name} {
|
|
6
|
-
id varchar(26) [pk, note: "ULID"]
|
|
7
|
-
{field_name} varchar(255) [not null, note: "{説明}"]
|
|
8
|
-
created_at timestamptz [not null, default: `now()`]
|
|
9
|
-
updated_at timestamptz [not null, default: `now()`]
|
|
10
|
-
|
|
11
|
-
indexes {
|
|
12
|
-
{field_name} [name: "idx_{table_name}_{field_name}"]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
Note: "{テーブルの説明}"
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
Table {child_table_name} {
|
|
19
|
-
id varchar(26) [pk, note: "ULID"]
|
|
20
|
-
{table_name}_id varchar(26) [not null, note: "FK to {table_name}"]
|
|
21
|
-
{field_name} text [null, note: "{説明}"]
|
|
22
|
-
created_at timestamptz [not null, default: `now()`]
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
Ref: {child_table_name}.{table_name}_id > {table_name}.id [delete: cascade]
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.infrastructure.sequence.{sequence_slug}
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
maps_to:
|
|
8
|
-
- src/{related_path}
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
# {シーケンス名}
|
|
12
|
-
|
|
13
|
-
```mermaid
|
|
14
|
-
sequenceDiagram
|
|
15
|
-
participant U as ユーザー
|
|
16
|
-
participant A as {参加者A}
|
|
17
|
-
participant B as {参加者B}
|
|
18
|
-
|
|
19
|
-
U->>A: {操作}
|
|
20
|
-
A->>B: {依頼}
|
|
21
|
-
B-->>A: {結果}
|
|
22
|
-
A-->>U: {応答}
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
## 補足
|
|
26
|
-
|
|
27
|
-
- 対象ユースケース: {UC}
|
|
28
|
-
- 例外分岐: {分岐}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.agents.{agent_name}.agent
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
- use_case.{use_case_slug}
|
|
8
|
-
maps_to:
|
|
9
|
-
- src/agents/{agent_name}/agent.py
|
|
10
|
-
- tests/agents/{agent_name}/test_agent.py
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `src/agents/{agent_name}/agent.py` 詳細設計
|
|
14
|
-
|
|
15
|
-
## 責務
|
|
16
|
-
|
|
17
|
-
- {このモジュールが果たす役割}
|
|
18
|
-
- 実現するユースケース: {UC一覧}
|
|
19
|
-
- 呼び出す依存: {依存一覧}
|
|
20
|
-
|
|
21
|
-
## 入力と出力
|
|
22
|
-
|
|
23
|
-
| 種別 | 名前 | 型 | 説明 |
|
|
24
|
-
|------|------|----|------|
|
|
25
|
-
| 入力 | {入力名} | {型} | {説明} |
|
|
26
|
-
| 出力 | {出力名} | {型} | {説明} |
|
|
27
|
-
|
|
28
|
-
## 主要フロー
|
|
29
|
-
|
|
30
|
-
1. {ステップ1}
|
|
31
|
-
2. {ステップ2}
|
|
32
|
-
3. {ステップ3}
|
|
33
|
-
|
|
34
|
-
## 判断条件
|
|
35
|
-
|
|
36
|
-
| 判断ポイント | 条件 | アクション |
|
|
37
|
-
|------------|------|----------|
|
|
38
|
-
| **{判断ポイント}** | {条件} | {アクション} |
|
|
39
|
-
|
|
40
|
-
## エラーハンドリング
|
|
41
|
-
|
|
42
|
-
| エラーケース | 検知方法 | 対応方法 |
|
|
43
|
-
|------------|---------|---------|
|
|
44
|
-
| **{エラーケース}** | {検知方法} | {対応方法} |
|
|
45
|
-
|
|
46
|
-
## 依存モジュール
|
|
47
|
-
|
|
48
|
-
| 依存 | 目的 | 呼び出しタイミング |
|
|
49
|
-
|------|------|----------------|
|
|
50
|
-
| **{依存モジュール}** | {目的} | {タイミング} |
|
|
51
|
-
|
|
52
|
-
## テスト観点
|
|
53
|
-
|
|
54
|
-
- {正常系の観点}
|
|
55
|
-
- {異常系の観点}
|
|
56
|
-
- {境界条件の観点}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.agents.{agent_name}.config
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
- detail.src.agents.{agent_name}.agent
|
|
8
|
-
maps_to:
|
|
9
|
-
- src/agents/{agent_name}/config.py
|
|
10
|
-
- tests/agents/{agent_name}/test_config.py
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `src/agents/{agent_name}/config.py` 詳細設計
|
|
14
|
-
|
|
15
|
-
## LLM設定
|
|
16
|
-
|
|
17
|
-
| 項目 | 値 | 理由 |
|
|
18
|
-
|------|----|------|
|
|
19
|
-
| モデル | {モデル名} | {選定理由} |
|
|
20
|
-
| temperature | {値} | {理由} |
|
|
21
|
-
| max_tokens | {値} | {理由} |
|
|
22
|
-
|
|
23
|
-
## エージェント固有設定
|
|
24
|
-
|
|
25
|
-
| 設定項目 | 値 | 説明 |
|
|
26
|
-
|---------|----|------|
|
|
27
|
-
| **{設定名}** | {デフォルト値} | {説明} |
|
|
28
|
-
|
|
29
|
-
## タイムアウト / リトライ
|
|
30
|
-
|
|
31
|
-
| 処理 | 設定 | 理由 |
|
|
32
|
-
|------|------|------|
|
|
33
|
-
| LLM呼び出し | {秒または回数} | {理由} |
|
|
34
|
-
| 外部 API | {秒または回数} | {理由} |
|
|
35
|
-
|
|
36
|
-
## 環境別設定
|
|
37
|
-
|
|
38
|
-
| 環境 | 差分 |
|
|
39
|
-
|------|------|
|
|
40
|
-
| 開発 | {差分} |
|
|
41
|
-
| 本番 | {差分} |
|
|
42
|
-
|
|
43
|
-
## テスト観点
|
|
44
|
-
|
|
45
|
-
- 設定値の既定値
|
|
46
|
-
- 不正値の拒否
|
|
47
|
-
- 環境差分の取り扱い
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
spec_runner:
|
|
3
|
-
node_id: detail.src.agents.{agent_name}.domain
|
|
4
|
-
kind: detailed_design
|
|
5
|
-
depends_on:
|
|
6
|
-
- overview.system_context
|
|
7
|
-
- use_case.{use_case_slug}
|
|
8
|
-
maps_to:
|
|
9
|
-
- src/agents/{agent_name}/domain.py
|
|
10
|
-
- tests/agents/{agent_name}/test_domain.py
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
# `src/agents/{agent_name}/domain.py` 詳細設計
|
|
14
|
-
|
|
15
|
-
## 概要
|
|
16
|
-
|
|
17
|
-
このエージェントが扱うビジネスロジックとデータモデルを定義する。
|
|
18
|
-
|
|
19
|
-
## エンティティ
|
|
20
|
-
|
|
21
|
-
### {日本語名}(`{ClassName}`)
|
|
22
|
-
|
|
23
|
-
{責務の説明}
|
|
24
|
-
|
|
25
|
-
| フィールド | 型 | 説明 |
|
|
26
|
-
|----------|----|------|
|
|
27
|
-
| {フィールド名} | {型} | {説明} |
|
|
28
|
-
|
|
29
|
-
**不変条件**
|
|
30
|
-
|
|
31
|
-
- {条件1}
|
|
32
|
-
- {条件2}
|
|
33
|
-
|
|
34
|
-
## 値オブジェクト
|
|
35
|
-
|
|
36
|
-
### {日本語名}(`{ClassName}`)
|
|
37
|
-
|
|
38
|
-
{責務の説明}
|
|
39
|
-
|
|
40
|
-
| フィールド | 型 | 説明 |
|
|
41
|
-
|----------|----|------|
|
|
42
|
-
| {フィールド名} | {型} | {説明} |
|
|
43
|
-
|
|
44
|
-
**バリデーション**
|
|
45
|
-
|
|
46
|
-
- {ルール1}
|
|
47
|
-
|
|
48
|
-
## ビジネスロジック
|
|
49
|
-
|
|
50
|
-
### {ロジック名}
|
|
51
|
-
|
|
52
|
-
1. {ステップ1}
|
|
53
|
-
2. {ステップ2}
|
|
54
|
-
3. {ステップ3}
|
|
55
|
-
|
|
56
|
-
## ビジネスルール
|
|
57
|
-
|
|
58
|
-
| 条件 | アクション |
|
|
59
|
-
|------|----------|
|
|
60
|
-
| {条件} | {アクション} |
|
|
61
|
-
|
|
62
|
-
## データ変換 / 境界
|
|
63
|
-
|
|
64
|
-
| 変換方向 | 入力 | 出力 | 概要 |
|
|
65
|
-
|---------|------|------|------|
|
|
66
|
-
| {外部} → 内部 | {外部形式} | {ドメインモデル} | {変換内容} |
|
|
67
|
-
| 内部 → {外部} | {ドメインモデル} | {外部形式} | {変換内容} |
|