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.
Files changed (78) hide show
  1. package/bin/spec-runner-installer.js +63 -0
  2. package/package.json +1 -1
  3. package/spec-runner/templates/.claude/agents/design-reviewer.md +8 -8
  4. package/spec-runner/templates/.claude/agents/impact-analyzer.md +35 -11
  5. package/spec-runner/templates/.claude/rules/coding.md +11 -0
  6. package/spec-runner/templates/.claude/rules/design-docs.md +52 -18
  7. package/spec-runner/templates/.claude/rules/harness-formats.md +93 -0
  8. package/spec-runner/templates/.claude/settings.json +15 -0
  9. package/spec-runner/templates/.claude/skills/architecture-definition/SKILL.md +43 -15
  10. package/spec-runner/templates/.claude/skills/architecture-skill-development/SKILL.md +26 -21
  11. package/spec-runner/templates/.claude/skills/design-change/SKILL.md +14 -12
  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
  13. package/spec-runner/templates/.claude/skills/docs-driven-seed/SKILL.md +127 -0
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 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
  21. package/spec-runner/templates/.claude/skills/existing-project-to-docs/SKILL.md +12 -9
  22. package/spec-runner/templates/.claude/skills/harness-engineering/SKILL.md +4 -0
  23. package/spec-runner/templates/.claude/skills/simple-seed/SKILL.md +105 -0
  24. 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
  25. package/spec-runner/templates/.claude/skills/test-driven-development/SKILL.md +104 -7
  26. package/spec-runner/templates/.github/agents/design-reviewer.agent.md +8 -8
  27. package/spec-runner/templates/.github/agents/impact-analyzer.agent.md +35 -11
  28. package/spec-runner/templates/.github/instructions/coding.instructions.md +11 -0
  29. package/spec-runner/templates/.github/instructions/design-docs.instructions.md +52 -18
  30. package/spec-runner/templates/.github/instructions/harness-formats.instructions.md +87 -0
  31. package/spec-runner/templates/.github/skills/architecture-definition/SKILL.md +43 -15
  32. package/spec-runner/templates/.github/skills/architecture-skill-development/SKILL.md +26 -21
  33. package/spec-runner/templates/.github/skills/design-change/SKILL.md +14 -12
  34. 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
  35. package/spec-runner/templates/.github/skills/docs-driven-seed/SKILL.md +127 -0
  36. 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
  37. 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
  38. 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
  39. 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
  40. 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
  41. 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
  42. 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
  43. package/spec-runner/templates/.github/skills/existing-project-to-docs/SKILL.md +12 -9
  44. package/spec-runner/templates/.github/skills/harness-engineering/SKILL.md +4 -0
  45. package/spec-runner/templates/.github/skills/simple-seed/SKILL.md +105 -0
  46. 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
  47. package/spec-runner/templates/.github/skills/test-driven-development/SKILL.md +104 -7
  48. package/spec-runner/templates/.spec-runner/scripts/scan.js +156 -0
  49. package/spec-runner/templates/.claude/skills/plugin-development/SKILL.md +0 -173
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. package/spec-runner/templates/.github/skills/plugin-development/SKILL.md +0 -173
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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,72 +0,0 @@
1
- ---
2
- spec_runner:
3
- node_id: detail.src.agents.{agent_name}.prompts
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}/prompts.py
10
- - tests/agents/{agent_name}/test_prompts.py
11
- ---
12
-
13
- # `src/agents/{agent_name}/prompts.py` 詳細設計
14
-
15
- ## システムプロンプト
16
-
17
- ### 役割定義
18
-
19
- ```text
20
- あなたは{役割}です。
21
-
22
- 【責務】
23
- - {責務1}
24
- - {責務2}
25
- ```
26
-
27
- ### 出力形式
28
-
29
- ```text
30
- {出力形式の例}
31
- ```
32
-
33
- ## タスク別プロンプト
34
-
35
- ### タスク: {タスク名}
36
-
37
- **用途**: {タスクの説明}
38
-
39
- ```text
40
- {タスク固有の指示}
41
- ```
42
-
43
- ## Few-shot 例
44
-
45
- ### 例1
46
-
47
- 入力:
48
-
49
- ```text
50
- {入力例1}
51
- ```
52
-
53
- 出力:
54
-
55
- ```text
56
- {出力例1}
57
- ```
58
-
59
- ## ガードレール
60
-
61
- | 項目 | 内容 |
62
- |------|------|
63
- | 禁止事項 | {禁止事項} |
64
- | 失敗時の扱い | {扱い} |
65
- | 再試行条件 | {条件} |
66
-
67
- ## プロンプト戦略
68
-
69
- | 戦略 | 適用箇所 | 理由 |
70
- |------|---------|------|
71
- | 出力形式固定 | {適用箇所} | {理由} |
72
- | Few-shot | {適用箇所} | {理由} |
@@ -1,53 +0,0 @@
1
- ---
2
- spec_runner:
3
- node_id: detail.src.plugins.skills.{skill_name}.skill
4
- kind: detailed_design
5
- depends_on:
6
- - overview.system_context
7
- maps_to:
8
- - src/plugins/skills/{skill_name}/skill.py
9
- - tests/plugins/skills/{skill_name}/test_skill.py
10
- ---
11
-
12
- # `src/plugins/skills/{skill_name}/skill.py` 詳細設計
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
- ```text
39
- あなたは{専門家の役割}です。
40
- {タスクの説明}
41
- ```
42
-
43
- ## エラーケース
44
-
45
- | エラーケース | 発生条件 | 対応方法 |
46
- |------------|---------|---------|
47
- | **{エラーケース}** | {発生条件} | {対応方法} |
48
-
49
- ## テスト観点
50
-
51
- - 判定ロジックの正常系
52
- - 閾値・境界条件
53
- - 入力不足・異常値
@@ -1,51 +0,0 @@
1
- ---
2
- spec_runner:
3
- node_id: detail.src.plugins.tools.{tool_name}.tool
4
- kind: detailed_design
5
- depends_on:
6
- - overview.system_context
7
- maps_to:
8
- - src/plugins/tools/{tool_name}/tool.py
9
- - tests/plugins/tools/{tool_name}/test_tool.py
10
- ---
11
-
12
- # `src/plugins/tools/{tool_name}/tool.py` 詳細設計
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
- 1. {処理ステップ1}
38
- 2. {処理ステップ2}
39
- 3. {処理ステップ3}
40
-
41
- ## エラーケース
42
-
43
- | エラーケース | 発生条件 | 対応方法 |
44
- |------------|---------|---------|
45
- | **{エラーケース}** | {発生条件} | {対応方法} |
46
-
47
- ## テスト観点
48
-
49
- - 正常系の入出力
50
- - エラー時の戻り値または例外
51
- - 外部依存の失敗時の扱い
@@ -1,173 +0,0 @@
1
- ---
2
- name: plugin-development
3
- description: プラグイン型アーキテクチャ向けの reference workflow。docs を正本にし、概要設計から `src/` ミラーの詳細設計、TDD、実装へ進める。
4
- ---
5
-
6
- # plugin-development
7
-
8
- プラグイン型アーキテクチャ向けの新規開発フロー。
9
- `architecture-definition` や `architecture-skill-development` が未整備な段階でも使える reference implementation として扱う。
10
-
11
- ## 全体フロー
12
-
13
- ```
14
- Phase 1: 要件定義
15
- Phase 2: 概要設計
16
- Phase 3: ADR(必要時のみ)
17
- Phase 4: 詳細設計
18
- Phase 5: TDD → 実装
19
- ```
20
-
21
- ## 前提ルール
22
-
23
- - docs は正本とし、各ドキュメントに `spec_runner` frontmatter を付ける
24
- - `docs/03_詳細設計/src/**` は原則として `src/` をミラーする
25
- - `docs/03_詳細設計/infrastructure/**` は例外文書として扱い、必ず `maps_to` で対応先を明示する
26
- - ユーザー承認なしに次フェーズへ進めない
27
-
28
- ## Phase 1: 要件定義
29
-
30
- ### 手順
31
-
32
- 1. 以下をユーザーにヒアリングする
33
- - 解決すべき課題
34
- - 提供価値
35
- - 対象ユーザー
36
- - 非機能要件
37
- - スコープ外
38
- - 技術・ビジネス制約
39
- 2. テンプレート `templates/01_要件定義/概要テンプレート.md` をコピーして `docs/01_要件定義/要件定義.md` を作る
40
- 3. frontmatter の `node_id` / `kind` / `depends_on` / `maps_to` を埋める
41
- 4. ユーザーに確認・承認を得る
42
-
43
- ### 出力
44
-
45
- ```text
46
- docs/
47
- 01_要件定義/
48
- 要件定義.md
49
- ```
50
-
51
- ## Phase 2: 概要設計
52
-
53
- ### 2-1. ユースケース一覧
54
-
55
- 1. Phase 1 の要件定義からユースケースを洗い出す
56
- 2. Query / Command を意識して一覧化する
57
- 3. テンプレート `templates/02_概要設計/ユースケース一覧テンプレート.md` をコピーして作る
58
- 4. 必要なら `docs/02_概要設計/ユースケース/` 配下に個別 UC も作る
59
- 5. ユーザーに確認・承認を得る
60
-
61
- ### 2-2. システム全体俯瞰
62
-
63
- 1. ユースケース一覧から責務境界、主要コンポーネント、外部 IF を整理する
64
- 2. テンプレート `templates/02_概要設計/システム全体俯瞰テンプレート.md` をコピーして作る
65
- 3. 必要なら `ドメイン責務マップ.md` / `外部IF一覧.md` / `非機能・運用方針.md` を追加する
66
- 4. ユーザーに確認・承認を得る
67
-
68
- ### 出力
69
-
70
- ```text
71
- docs/
72
- 02_概要設計/
73
- ユースケース一覧.md
74
- システム全体俯瞰.md
75
- ユースケース/
76
- UC-*.md
77
- 90_ADR/
78
- ```
79
-
80
- ## Phase 3: ADR(必要時のみ)
81
-
82
- 1. 実装方針に意思決定が必要な場合だけ ADR を作る
83
- 2. **必ず 3 案を比較する**
84
- 3. テンプレート `templates/02_概要設計/90_ADR/ADRテンプレート.md` をコピーして生成する
85
- 4. 配置先は `docs/02_概要設計/90_ADR/mmdd-{日本語タイトル}.md` を原則とする
86
- 5. 採用案を概要設計へ反映してから次へ進む
87
-
88
- ## Phase 4: 詳細設計
89
-
90
- **各ドキュメントは `src/` と決定的に対応づける。**
91
-
92
- ### 4-1. エージェント
93
-
94
- テンプレート:
95
- - `templates/03_詳細設計/src/agents/{agent_name}/agent.md`
96
- - `templates/03_詳細設計/src/agents/{agent_name}/domain.md`
97
- - `templates/03_詳細設計/src/agents/{agent_name}/prompts.md`
98
- - `templates/03_詳細設計/src/agents/{agent_name}/config.md`
99
-
100
- 出力:
101
-
102
- ```text
103
- docs/
104
- 03_詳細設計/
105
- src/
106
- agents/
107
- {agent_name}/
108
- agent.md
109
- domain.md
110
- prompts.md
111
- config.md
112
- ```
113
-
114
- ### 4-2. プラグイン
115
-
116
- テンプレート:
117
- - `templates/03_詳細設計/src/plugins/skills/{skill_name}/skill.md`
118
- - `templates/03_詳細設計/src/plugins/tools/{tool_name}/tool.md`
119
-
120
- 出力:
121
-
122
- ```text
123
- docs/
124
- 03_詳細設計/
125
- src/
126
- plugins/
127
- skills/
128
- {skill_name}/
129
- skill.md
130
- tools/
131
- {tool_name}/
132
- tool.md
133
- ```
134
-
135
- ### 4-3. インフラ補助設計
136
-
137
- `src` ミラーだけでは表現しきれない DB / IaC / 運用構成だけ、例外として補助設計を置く。
138
-
139
- テンプレート:
140
- - `templates/03_詳細設計/infrastructure/database.md`
141
- - `templates/03_詳細設計/infrastructure/schema.dbml`
142
- - `templates/03_詳細設計/infrastructure/aws.md`
143
- - `templates/03_詳細設計/infrastructure/sequence/シーケンス図テンプレート.md`
144
-
145
- 出力:
146
-
147
- ```text
148
- docs/
149
- 03_詳細設計/
150
- infrastructure/
151
- database.md
152
- schema.dbml
153
- aws.md
154
- sequence/
155
- ```
156
-
157
- ユーザーに確認・承認を得る
158
-
159
- ## Phase 5: TDD → 実装
160
-
161
- 詳細設計が承認されたら `test-driven-development` スキルへ移行する。
162
-
163
- ### 実装完了後のレビュー
164
-
165
- - `@design-reviewer` — frontmatter と `maps_to` を起点に設計書⇔実装の整合性チェック
166
- - `@code-reviewer` — コーディング規約への適合チェック
167
-
168
- ## 原則
169
-
170
- - **ユースケースは途中で止めずに洗い出す**
171
- - **詳細設計は `src/` ミラーを優先する**
172
- - **補助設計を置く場合も `maps_to` で対応先を残す**
173
- - **`plugin-development` を最終形とみなさず、project 専用 skill の種として扱う**
@@ -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
- | {メトリクス名} | {閾値} | {通知先} |