spec-runner 1.0.0 → 1.0.2

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 (69) hide show
  1. package/README.md +64 -24
  2. package/bin/spec-runner.js +23 -5
  3. package/package.json +1 -1
  4. package/templates/base/.github/PULL_REQUEST_TEMPLATE.md +11 -11
  5. package/templates/base/.github/workflows/phase-gate-check.yml +22 -22
  6. package/templates/base/scripts/spec-runner.sh +158 -71
  7. package/templates/base/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210//343/202/244/343/203/263/343/203/225/343/203/251.md +14 -0
  8. package/templates/base/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210//343/203/206/343/203/274/343/203/226/343/203/253.md +17 -0
  9. package/templates/base/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210//343/203/211/343/203/241/343/202/244/343/203/263.md +18 -0
  10. package/templates/base/templates/03_/350/251/263/347/264/260/350/250/255/350/250/210//343/203/246/343/203/274/343/202/271/343/202/261/343/203/274/343/202/271.md +12 -0
  11. package/templates/base/{docs/adr/TEMPLATE.md → templates/99_/350/250/255/350/250/210/345/210/244/346/226/255/350/250/230/351/214/262//343/201/262/343/201/252/345/275/242.md} +1 -1
  12. package/templates/base/templates/README.md +32 -0
  13. package/templates/base/templates//345/210/235/346/234/237/343/203/211/343/202/255/343/203/245/343/203/241/343/203/263/343/203/210/01_/346/206/262/347/253/240.md +48 -0
  14. package/templates/base/templates//345/210/235/346/234/237/343/203/211/343/202/255/343/203/245/343/203/241/343/203/263/343/203/210/02_/344/273/225/346/247/230.md +39 -0
  15. package/templates/base/{docs/glossary.md → templates//345/210/235/346/234/237/343/203/211/343/202/255/343/203/245/343/203/241/343/203/263/343/203/210/03_/347/224/250/350/252/236/351/233/206.md} +1 -1
  16. package/templates/base/templates//345/210/235/346/234/237/343/203/211/343/202/255/343/203/245/343/203/241/343/203/263/343/203/210/99_/350/250/255/350/250/210/345/210/244/346/226/255/350/250/230/351/214/262/.gitkeep +0 -0
  17. package/templates/base/templates//345/210/235/346/234/237/343/203/211/343/202/255/343/203/245/343/203/241/343/203/263/343/203/210//343/203/206/343/203/263/343/203/227/343/203/254/343/203/274/343/203/210/344/270/200/350/246/247.md +14 -0
  18. package/templates/claude/.claude/commands/{sr-set-gate.md → sr-/343/202/262/343/203/274/343/203/210/350/250/255/345/256/232.md} +2 -2
  19. package/templates/{cursor/.cursor/commands/sr-test-design.md → claude/.claude/commands/sr-/343/203/206/343/202/271/343/203/210/350/250/255/350/250/210.md} +1 -1
  20. package/templates/claude/.claude/commands/sr-/343/203/254/343/203/223/343/203/245/343/203/274.md +9 -0
  21. package/templates/claude/.claude/commands/sr-/344/273/225/346/247/230.md +9 -0
  22. package/templates/claude/.claude/commands/{sr-fix.md → sr-/344/277/256/346/255/243.md} +2 -2
  23. package/templates/claude/.claude/commands/{sr-init.md → sr-/345/210/235/346/234/237/345/214/226.md} +3 -3
  24. package/templates/claude/.claude/commands/{sr-complete.md → sr-/345/256/214/344/272/206.md} +1 -1
  25. package/templates/claude/.claude/commands/{sr-implement.md → sr-/345/256/237/350/243/205.md} +1 -1
  26. package/templates/claude/.claude/commands/sr-/346/206/262/347/253/240.md +9 -0
  27. package/templates/claude/.claude/commands/sr-/346/246/202/350/246/201/350/250/255/350/250/210.md +9 -0
  28. package/templates/{cursor/.cursor/commands/sr-status.md → claude/.claude/commands/sr-/347/212/266/346/205/213.md} +1 -1
  29. package/templates/claude/.claude/commands/{sr-hotfix.md → sr-/347/267/212/346/200/245/344/277/256/346/255/243.md} +2 -2
  30. package/templates/{cursor/.cursor/commands/sr-configure.md → claude/.claude/commands/sr-/350/250/255/345/256/232.md} +2 -2
  31. package/templates/claude/.claude/commands/{sr-design-detail.md → sr-/350/251/263/347/264/260/350/250/255/350/250/210.md} +2 -2
  32. package/templates/claude/.claude/hooks/pre-tool-use.sh +1 -1
  33. package/templates/claude/CLAUDE.md +22 -22
  34. package/templates/copilot/.github/copilot-instructions.md +1 -1
  35. package/templates/copilot/.github/prompts/{sr-set-gate.prompt.md → sr-/343/202/262/343/203/274/343/203/210/350/250/255/345/256/232.prompt.md} +1 -1
  36. package/templates/copilot/.github/prompts/{sr-test-design.prompt.md → sr-/343/203/206/343/202/271/343/203/210/350/250/255/350/250/210.prompt.md} +1 -1
  37. package/templates/copilot/.github/prompts/{sr-review.prompt.md → sr-/343/203/254/343/203/223/343/203/245/343/203/274.prompt.md} +2 -2
  38. package/templates/copilot/.github/prompts/sr-/344/273/225/346/247/230.prompt.md +13 -0
  39. package/templates/copilot/.github/prompts/{sr-fix.prompt.md → sr-/344/277/256/346/255/243.prompt.md} +1 -1
  40. package/templates/copilot/.github/prompts/{sr-init.prompt.md → sr-/345/210/235/346/234/237/345/214/226.prompt.md} +3 -3
  41. package/templates/copilot/.github/prompts/{sr-complete.prompt.md → sr-/345/256/214/344/272/206.prompt.md} +1 -1
  42. package/templates/copilot/.github/prompts/{sr-implement.prompt.md → sr-/345/256/237/350/243/205.prompt.md} +1 -1
  43. package/templates/copilot/.github/prompts/sr-/346/206/262/347/253/240.prompt.md +13 -0
  44. package/templates/copilot/.github/prompts/{sr-design-high.prompt.md → sr-/346/246/202/350/246/201/350/250/255/350/250/210.prompt.md} +1 -1
  45. package/templates/copilot/.github/prompts/{sr-status.prompt.md → sr-/347/212/266/346/205/213.prompt.md} +1 -1
  46. package/templates/copilot/.github/prompts/{sr-hotfix.prompt.md → sr-/347/267/212/346/200/245/344/277/256/346/255/243.prompt.md} +1 -1
  47. package/templates/copilot/.github/prompts/{sr-configure.prompt.md → sr-/350/250/255/345/256/232.prompt.md} +1 -1
  48. package/templates/copilot/.github/prompts/{sr-design-detail.prompt.md → sr-/350/251/263/347/264/260/350/250/255/350/250/210.prompt.md} +1 -1
  49. package/templates/cursor/.cursor/commands/sr-/343/202/262/343/203/274/343/203/210/350/250/255/345/256/232.md +9 -0
  50. package/templates/{claude/.claude/commands/sr-test-design.md → cursor/.cursor/commands/sr-/343/203/206/343/202/271/343/203/210/350/250/255/350/250/210.md} +1 -1
  51. package/templates/cursor/.cursor/commands/sr-/343/203/254/343/203/223/343/203/245/343/203/274.md +9 -0
  52. package/templates/cursor/.cursor/commands/sr-/344/273/225/346/247/230.md +9 -0
  53. package/templates/cursor/.cursor/commands/{sr-fix.md → sr-/344/277/256/346/255/243.md} +2 -2
  54. package/templates/cursor/.cursor/commands/{sr-init.md → sr-/345/210/235/346/234/237/345/214/226.md} +3 -3
  55. package/templates/cursor/.cursor/commands/{sr-complete.md → sr-/345/256/214/344/272/206.md} +1 -1
  56. package/templates/cursor/.cursor/commands/{sr-implement.md → sr-/345/256/237/350/243/205.md} +1 -1
  57. package/templates/cursor/.cursor/commands/sr-/346/206/262/347/253/240.md +9 -0
  58. package/templates/cursor/.cursor/commands/sr-/346/246/202/350/246/201/350/250/255/350/250/210.md +9 -0
  59. package/templates/{claude/.claude/commands/sr-status.md → cursor/.cursor/commands/sr-/347/212/266/346/205/213.md} +1 -1
  60. package/templates/cursor/.cursor/commands/{sr-hotfix.md → sr-/347/267/212/346/200/245/344/277/256/346/255/243.md} +2 -2
  61. package/templates/{claude/.claude/commands/sr-configure.md → cursor/.cursor/commands/sr-/350/250/255/345/256/232.md} +2 -2
  62. package/templates/cursor/.cursor/commands/{sr-design-detail.md → sr-/350/251/263/347/264/260/350/250/255/350/250/210.md} +2 -2
  63. package/templates/claude/.claude/commands/sr-design-high.md +0 -9
  64. package/templates/claude/.claude/commands/sr-review.md +0 -9
  65. package/templates/cursor/.cursor/commands/sr-design-high.md +0 -9
  66. package/templates/cursor/.cursor/commands/sr-review.md +0 -9
  67. package/templates/cursor/.cursor/commands/sr-set-gate.md +0 -9
  68. /package/templates/base/templates/{requirement/template.md → 01_/350/246/201/344/273/266/345/256/232/347/276/251//343/201/262/343/201/252/345/275/242.md"} +0 -0
  69. /package/templates/base/{docs/review/debt.md → templates//345/210/235/346/234/237/343/203/211/343/202/255/343/203/245/343/203/241/343/203/263/343/203/210//346/214/257/343/202/212/350/277/224/343/202/212//350/262/240/345/202/265.md"} +0 -0
@@ -1,4 +1,4 @@
1
- # /sr-test-design
1
+ # /sr-テスト設計
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -0,0 +1,9 @@
1
+ # /sr-レビュー
2
+
3
+ **チャットで使うコマンド**。$ARGUMENTS にレビュー通過させるファイルパスを指定し、以下を**ターミナルで実行**してください(例: `/sr-レビュー docs/01_要件/顧客登録.md`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh review-pass $ARGUMENTS
7
+ ```
8
+
9
+ 引数が空の場合は、ユーザーに「レビュー通過させるファイルパスを指定してください(例: docs/01_要件/顧客登録.md)」と伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-仕様
2
+
3
+ **チャットで使うコマンド**。プロジェクト仕様(何を作るか・なぜか・スコープ)を編集します。
4
+
5
+ 1. `docs/02_仕様.md` を開くか、内容を確認する。
6
+ 2. ユーザーと一緒に「このプロジェクトで作るもの」「作る理由」「スコープ(含む/含まない)」「想定ユーザー」を書き足す・修正する。
7
+ 3. 曖昧な点があれば質問して解消する。
8
+
9
+ init の前に書いておくと、最初のユースケースを決めやすくなる。
@@ -1,6 +1,6 @@
1
- # /sr-fix
1
+ # /sr-修正
2
2
 
3
- 以下を**必ずターミナルで実行**してください。$ARGUMENTS に修正内容を指定します(例: `/sr-fix 顧客名を必須に変更`)。
3
+ 以下を**必ずターミナルで実行**してください。$ARGUMENTS に修正内容を指定します(例: `/sr-修正 顧客名を必須に変更`)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh fix $ARGUMENTS
@@ -1,10 +1,10 @@
1
- # /sr-init
1
+ # /sr-初期化
2
2
 
3
- 以下を**必ずターミナルで実行**してください。$ARGUMENTS にはユーザーが続けて入力した文字列が入ります(例: `/sr-init 顧客登録 顧客管理` → 引数は「顧客登録 顧客管理」)。
3
+ **チャットで使うコマンド**。$ARGUMENTS にはユーザーがスラッシュの後に続けて入力した文字列が入ります。以下を**ターミナルで実行**してください(例: ユーザーが `/sr-初期化 顧客登録 顧客管理` と入力した場合)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh init $ARGUMENTS
7
7
  ```
8
8
 
9
9
  - **引数あり**(例: `顧客登録 顧客管理`): 未設定なら詳細設定の対話 → 続けてユースケース作成。
10
- - **引数が空**の場合は、ユーザーに「ユースケース名(と任意で集約名)を指定してください」と伝えるか、**設定対話だけ**したい場合は `/sr-configure` を案内してください。
10
+ - **引数が空**の場合は、ユーザーに「ユースケース名(と任意で集約名)を指定してください」と伝えるか、**設定対話だけ**したい場合は `/sr-設定` を案内してください。
@@ -1,4 +1,4 @@
1
- # /sr-complete
1
+ # /sr-完了
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -1,4 +1,4 @@
1
- # /sr-implement
1
+ # /sr-実装
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -0,0 +1,9 @@
1
+ # /sr-憲章
2
+
3
+ **チャットで使うコマンド**。プロジェクト憲章(不変原則・品質ルール)を編集します。
4
+
5
+ 1. `docs/01_憲章.md` を開くか、内容を確認する。
6
+ 2. ユーザーと一緒に「このプロジェクトで守る開発ルール」「品質基準」「フォルダ・成果物の原則」を書き足す・修正する。
7
+ 3. 憲章は技術やツールに依存しない抽象的なルールに留める(API や具体的なバージョンは書かない)。
8
+
9
+ init の前に書いておくと、その後のユースケース開発で参照できる。
@@ -0,0 +1,9 @@
1
+ # /sr-概要設計
2
+
3
+ **チャットで使うコマンド**。以下を**ターミナルで実行**してください。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh design-high
7
+ ```
8
+
9
+ 実行結果をユーザーに伝えてください。
@@ -1,4 +1,4 @@
1
- # /sr-status
1
+ # /sr-状態
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -1,6 +1,6 @@
1
- # /sr-hotfix
1
+ # /sr-緊急修正
2
2
 
3
- 以下を**必ずターミナルで実行**してください。$ARGUMENTS に緊急修正の内容を指定します(例: `/sr-hotfix ログイン落ちの修正`)。
3
+ 以下を**必ずターミナルで実行**してください。$ARGUMENTS に緊急修正の内容を指定します(例: `/sr-緊急修正 ログイン落ちの修正`)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh hotfix $ARGUMENTS
@@ -1,4 +1,4 @@
1
- # /sr-configure
1
+ # /sr-設定
2
2
 
3
3
  詳細設定(パス・TDD・DDD 等)の**対話のみ**を実行します。ユースケースは作成しません。
4
4
 
@@ -8,4 +8,4 @@
8
8
  ./scripts/spec-runner.sh init
9
9
  ```
10
10
 
11
- 引数なしの init のため、対話で Domain/UseCase のパスやテスト設定を聞かれたあと「最初のユースケースを開始するには…」と表示されて終わります。ユースケースを作る場合は `/sr-init ユースケース名 集約名` を使ってください。
11
+ 引数なしの init のため、対話で Domain/UseCase のパスやテスト設定を聞かれたあと「最初のユースケースを開始するには…」と表示されて終わります。ユースケースを作る場合は `/sr-初期化 ユースケース名 集約名` を使ってください。
@@ -1,6 +1,6 @@
1
- # /sr-design-detail
1
+ # /sr-詳細設計
2
2
 
3
- 以下を**必ずターミナルで実行**してください。$ARGUMENTS にはサブフェーズ(domain / usecase / table / infra)のいずれかを指定します(例: `/sr-design-detail domain`)。
3
+ 以下を**必ずターミナルで実行**してください。$ARGUMENTS にはサブフェーズ(domain / usecase / table / infra)のいずれかを指定します(例: `/sr-詳細設計 domain`)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh design-detail $ARGUMENTS
@@ -39,7 +39,7 @@ esac
39
39
  # 設計ドキュメントや設定ファイルへの書き込みは常に許可
40
40
  case "$file_path" in
41
41
  */docs/*|*/CLAUDE.md|*/.spec-runner/state.json|*/scripts/*|*/.github/*|\
42
- */templates/*|*/glossary.md|*.json|*.yml|*.yaml|*.sh|*.lock|\
42
+ */templates/*|*/03_用語集.md|*.json|*.yml|*.yaml|*.sh|*.lock|\
43
43
  */.spec-runner/*|*/node_modules/*|*/vendor/*)
44
44
  exit 0
45
45
  ;;
@@ -9,7 +9,7 @@
9
9
 
10
10
  **何かを実装する前に必ず実行せよ:**
11
11
 
12
- `./scripts/spec-runner.sh status`(チャットでは `/sr-status`)で現在のフェーズを確認する。
12
+ `./scripts/spec-runner.sh status`(チャットでは `/sr-状態`)で現在のフェーズを確認する。
13
13
 
14
14
  `phase` が `implement` でない場合、実装コードを生成してはならない。
15
15
  代わりに「現在のフェーズを確認してください」と伝えてユーザーに委ねよ。
@@ -20,7 +20,7 @@
20
20
 
21
21
  **実装フェーズに進むまでに、テストを必ず含める。**
22
22
 
23
- 1. **テスト設計** … `docs/test-design/<UC名>.md` を書く
23
+ 1. **テスト設計** … `docs/04_テスト設計/<UC名>.md` を書く
24
24
  2. **テストを先に書く(Red)** … 実装より前にテストコードを書き、失敗することを確認する
25
25
  3. **テストコードをコミット** … `./scripts/spec-runner.sh set-gate test_code_committed` でゲート通過
26
26
  4. **実装で Green** … `implement` フェーズでテストを通す実装を書く
@@ -36,7 +36,7 @@
36
36
 
37
37
  ### .claude/commands/(Claude Code カスタムスラッシュコマンド)
38
38
 
39
- `.claude/commands/` に Markdown を置くと、チャット欄で `/sr-*` として呼び出せる。各ファイルは「spec-runner.sh を実行せよ」という指示になっており、**ハード強制**に繋がる。コマンド一覧は **README の「スラッシュコマンド」** を参照。各 .md 内の `$ARGUMENTS` には、ユーザーがスラッシュの後に続けて入力した文字列が入る。
39
+ `.claude/commands/` に Markdown を置くと、チャット欄で `/sr-憲章` や `/sr-状態` などのスラッシュコマンドとして呼び出せる。各ファイルは「spec-runner.sh を実行せよ」という指示になっており、**ハード強制**に繋がる。コマンド一覧は **README の「スラッシュコマンド」** を参照。各 .md 内の `$ARGUMENTS` には、ユーザーがスラッシュの後に続けて入力した文字列が入る。
40
40
 
41
41
  ### 自然言語・短いスラッシュでの依頼
42
42
 
@@ -47,46 +47,46 @@
47
47
  ## フェーズ別の行動規則
48
48
 
49
49
  ### require(要件定義)フェーズ
50
- - `docs/requirements/<UC名>.md` を編集する
50
+ - `docs/01_要件/<UC名>.md` を編集する
51
51
  - 実装・設計・テーブル定義は書かない
52
- - 完了後: `./scripts/spec-runner.sh review-pass docs/requirements/<UC名>.md`
52
+ - 完了後: `./scripts/spec-runner.sh review-pass docs/01_要件/<UC名>.md`
53
53
 
54
54
  ### design-high(概要設計)フェーズ
55
- - `docs/high-level/<UC名>.md` を編集する
55
+ - `docs/02_概要設計/<UC名>.md` を編集する
56
56
  - ユースケース記述とドメインモデル候補の洗い出しのみ
57
57
  - **具体的なメソッド定義・テーブルカラムは書かない**
58
- - 新しい概念が出たら先に `docs/glossary.md` に追加する
59
- - 完了後: `./scripts/spec-runner.sh review-pass docs/high-level/<UC名>.md`
58
+ - 新しい概念が出たら先に `docs/03_用語集.md` に追加する
59
+ - 完了後: `./scripts/spec-runner.sh review-pass docs/02_概要設計/<UC名>.md`
60
60
 
61
61
  ### design-detail(詳細設計)フェーズ
62
62
  この順序で作業する:
63
63
 
64
- 1. **domain** → `docs/detailed/<UC名>/domain.md`
64
+ 1. **domain** → `docs/03_詳細設計/<UC名>/ドメイン.md`
65
65
  - エンティティ・値オブジェクト・ドメインイベント・集約・リポジトリIF
66
66
  - 振る舞い(メソッド)の定義
67
67
  - ← レビュー通過後に次へ
68
68
 
69
- 2. **usecase** → `docs/detailed/<UC名>/usecase.md`
69
+ 2. **usecase** → `docs/03_詳細設計/<UC名>/ユースケース.md`
70
70
  - ドメインモデルを使う設計(ドメインモデルを参照して書く)
71
71
  - Command/Query の入出力・シーケンス図
72
72
  - ← レビュー通過後に次へ
73
73
 
74
- 3. **table** → `docs/detailed/<UC名>/table.md`
74
+ 3. **table** → `docs/03_詳細設計/<UC名>/テーブル.md`
75
75
  - ドメインモデル ≠ テーブル(用途で分けてOK)
76
76
  - ER図(Mermaid)
77
77
  - ← レビュー通過後に次へ
78
78
 
79
- 4. **infra** → `docs/detailed/<UC名>/infra.md`
79
+ 4. **infra** → `docs/03_詳細設計/<UC名>/インフラ.md`
80
80
  - APIエンドポイント定義
81
81
  - リポジトリ実装方針
82
82
  - フロントエンドコンポーネント構成
83
83
  - ← レビュー通過後に次へ
84
84
 
85
85
  ### test-design(テスト設計)フェーズ
86
- - `docs/test-design/<UC名>.md` を編集する
86
+ - `docs/04_テスト設計/<UC名>.md` を編集する
87
87
  - **TDD: テストコードを実装より先に書く(Red 状態で OK)**
88
88
  - テストコードをコミットしてから次へ: `./scripts/spec-runner.sh set-gate test_code_committed`
89
- - 完了後: `./scripts/spec-runner.sh review-pass docs/test-design/<UC名>.md`
89
+ - 完了後: `./scripts/spec-runner.sh review-pass docs/04_テスト設計/<UC名>.md`
90
90
 
91
91
  ### implement(実装)フェーズ
92
92
  - **TDD: テストを Green にする実装を書く**
@@ -100,21 +100,21 @@
100
100
 
101
101
  | 変更内容 | 必ず同時更新するもの |
102
102
  |---------|-------------------|
103
- | `Domain/` 配下のクラス変更 | `docs/detailed/<UC名>/domain.md` |
104
- | `UseCase/` 配下のクラス変更 | `docs/detailed/<UC名>/usecase.md` |
105
- | `Infrastructure/Api/` の変更 | `docs/detailed/<UC名>/infra.md` |
106
- | DBマイグレーション | `docs/detailed/<UC名>/table.md` |
107
- | 新しいエンティティ/値オブジェクト | `docs/glossary.md` |
108
- | アーキテクチャ判断 | `docs/adr/<番号>-<タイトル>.md` |
103
+ | `Domain/` 配下のクラス変更 | `docs/03_詳細設計/<UC名>/ドメイン.md` |
104
+ | `UseCase/` 配下のクラス変更 | `docs/03_詳細設計/<UC名>/ユースケース.md` |
105
+ | `Infrastructure/Api/` の変更 | `docs/03_詳細設計/<UC名>/インフラ.md` |
106
+ | DBマイグレーション | `docs/03_詳細設計/<UC名>/テーブル.md` |
107
+ | 新しいエンティティ/値オブジェクト | `docs/03_用語集.md` |
108
+ | アーキテクチャ判断 | `docs/99_設計判断記録/<番号>-<タイトル>.md` |
109
109
 
110
110
  ---
111
111
 
112
112
  ## ユビキタス言語ルール
113
113
 
114
- - 設計ドキュメント → `docs/glossary.md` の **日本語** 列を使う
114
+ - 設計ドキュメント → `docs/03_用語集.md` の **日本語** 列を使う
115
115
  - コード(クラス名・メソッド名・変数名)→ **英語** 列を使う
116
116
  - PHPDoc/JSDoc → 日本語のユビキタス言語を `@description` に併記する
117
- - 新しい概念が登場 → **まず `docs/glossary.md` に追加してから**設計・実装に入る
117
+ - 新しい概念が登場 → **まず `docs/03_用語集.md` に追加してから**設計・実装に入る
118
118
 
119
119
  ---
120
120
 
@@ -7,7 +7,7 @@
7
7
  - 実装コードを書く前に **必ず** `./scripts/spec-runner.sh status` を実行する。
8
8
  - `phase` が `implement` でないときは実装コードを生成しない。ユーザーに「現在のフェーズを確認してください」と伝える。
9
9
  - ユーザーが「init して」「status 確認して」「design-high で進めて」などと言ったら、対応する `./scripts/spec-runner.sh` をターミナルで実行する。
10
- - スラッシュコマンド `/sr-init` などは `.github/prompts/*.prompt.md` に定義済み。`tools: [shell]` でシェル実行される。
10
+ - スラッシュコマンド `/sr-初期化` などは `.github/prompts/*.prompt.md` に定義済み(コマンド名は日本語)。`tools: [shell]` でシェル実行される。
11
11
 
12
12
  ## TDD(テスト駆動)— デフォルトで有効
13
13
 
@@ -11,4 +11,4 @@ tools: ['shell']
11
11
  ./scripts/spec-runner.sh set-gate ${input:gate:ゲート名}
12
12
  ```
13
13
 
14
- 引数が空の場合は、ユーザーに「ゲート名を指定してください」と伝えてください。
14
+ 引数が空の場合は、ユーザーに「ゲート名を指定してください」と伝えてください。
@@ -10,4 +10,4 @@ tools: ['shell']
10
10
  ./scripts/spec-runner.sh test-design
11
11
  ```
12
12
 
13
- 実行結果をユーザーに伝えてください。
13
+ 実行結果をユーザーに伝えてください。
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  agent: 'agent'
3
3
  description: 'spec-runner: レビュー通過を記録'
4
- argument-hint: 'ファイルパス(例: docs/requirements/顧客登録.md)'
4
+ argument-hint: 'ファイルパス(例: docs/01_要件/顧客登録.md)'
5
5
  tools: ['shell']
6
6
  ---
7
7
 
@@ -11,4 +11,4 @@ tools: ['shell']
11
11
  ./scripts/spec-runner.sh review-pass ${input:path:レビュー通過させるファイルパス}
12
12
  ```
13
13
 
14
- 引数が空の場合は、ユーザーに「ファイルパスを指定してください」と伝えてください。
14
+ 引数が空の場合は、ユーザーに「ファイルパスを指定してください」と伝えてください。
@@ -0,0 +1,13 @@
1
+ ---
2
+ agent: 'agent'
3
+ description: 'spec-runner: プロジェクト仕様を編集。何を作るか・なぜか・スコープを docs/02_仕様.md に書く'
4
+ tools: []
5
+ ---
6
+
7
+ **チャットで使うプロンプト**。プロジェクト仕様を編集します。
8
+
9
+ 1. `docs/02_仕様.md` の内容を読み、必要なら開く。
10
+ 2. ユーザーと一緒に「このプロジェクトで作るもの」「作る理由」「スコープ(含む/含まない)」「想定ユーザー」を書き足す・修正する。
11
+ 3. 曖昧な点があれば質問して解消する。
12
+
13
+ init の前に書いておくと、最初のユースケースを決めやすくなる。
@@ -11,4 +11,4 @@ tools: ['shell']
11
11
  ./scripts/spec-runner.sh fix "${input:content:修正内容}"
12
12
  ```
13
13
 
14
- 引数が空の場合は、ユーザーに「修正内容を指定してください」と伝えてください。
14
+ 引数が空の場合は、ユーザーに「修正内容を指定してください」と伝えてください。
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  agent: 'agent'
3
- description: 'spec-runner: ユースケースを初期化(未設定なら詳細設定の対話から)'
3
+ description: 'spec-runner: ユースケースを初期化(未設定なら詳細設定の対話から)。チャットで /sr-初期化 ユースケース名 集約名 と入力して使う'
4
4
  argument-hint: 'ユースケース名 集約名(例: 顧客登録 顧客管理)。空なら設定対話のみ'
5
5
  tools: ['shell']
6
6
  ---
7
7
 
8
- 以下を**必ずシェルで実行**してください。
8
+ **チャットで /sr-初期化 と入力して使う**。以下を**必ずシェルで実行**してください。
9
9
 
10
10
  ```bash
11
11
  ./scripts/spec-runner.sh init ${input:args:ユースケース名 集約名(スペース区切り。集約名は省略可)}
12
12
  ```
13
13
 
14
14
  - **引数あり**: 未設定なら詳細設定の対話 → ユースケース作成。
15
- - **引数が空**: 設定対話のみ。ユースケースを作らない場合はこのまま実行でよい。ユースケースを作る場合は引数で名前を指定するよう伝えてください。
15
+ - **引数が空**: 設定対話のみ。ユースケースを作らない場合はこのまま実行でよい。ユースケースを作る場合は引数で名前を指定するよう伝えてください。
@@ -10,4 +10,4 @@ tools: ['shell']
10
10
  ./scripts/spec-runner.sh complete
11
11
  ```
12
12
 
13
- 実行結果をユーザーに伝えてください。
13
+ 実行結果をユーザーに伝えてください。
@@ -10,4 +10,4 @@ tools: ['shell']
10
10
  ./scripts/spec-runner.sh implement
11
11
  ```
12
12
 
13
- 実行結果をユーザーに伝えてください。
13
+ 実行結果をユーザーに伝えてください。
@@ -0,0 +1,13 @@
1
+ ---
2
+ agent: 'agent'
3
+ description: 'spec-runner: プロジェクト憲章を編集。不変原則・品質ルールを docs/01_憲章.md に書く'
4
+ tools: []
5
+ ---
6
+
7
+ **チャットで使うプロンプト**。プロジェクト憲章を編集します。
8
+
9
+ 1. `docs/01_憲章.md` の内容を読み、必要なら開く。
10
+ 2. ユーザーと一緒に「このプロジェクトで守る開発ルール」「品質基準」「フォルダ・成果物の原則」を書き足す・修正する。
11
+ 3. 憲章は技術やツールに依存しない抽象的なルールに留める。
12
+
13
+ init の前に書いておくと、その後のユースケース開発で参照できる。
@@ -10,4 +10,4 @@ tools: ['shell']
10
10
  ./scripts/spec-runner.sh design-high
11
11
  ```
12
12
 
13
- 実行結果をユーザーに伝えてください。
13
+ 実行結果をユーザーに伝えてください。
@@ -10,4 +10,4 @@ tools: ['shell']
10
10
  ./scripts/spec-runner.sh status
11
11
  ```
12
12
 
13
- 実行結果をユーザーにそのまま伝えてください。
13
+ 実行結果をユーザーにそのまま伝えてください。
@@ -11,4 +11,4 @@ tools: ['shell']
11
11
  ./scripts/spec-runner.sh hotfix "${input:content:修正内容}"
12
12
  ```
13
13
 
14
- 引数が空の場合は、ユーザーに「修正内容を指定してください」と伝えてください。
14
+ 引数が空の場合は、ユーザーに「修正内容を指定してください」と伝えてください。
@@ -10,4 +10,4 @@ tools: ['shell']
10
10
  ./scripts/spec-runner.sh init
11
11
  ```
12
12
 
13
- 引数なしのため、対話でパス・TDD 等を聞かれたあと終了します。ユースケースを作成する場合は sr-init でユースケース名・集約名を指定してください。
13
+ 引数なしのため、対話でパス・TDD 等を聞かれたあと終了します。ユースケースを作成する場合は /sr-初期化 でユースケース名・集約名を指定してください。
@@ -11,4 +11,4 @@ tools: ['shell']
11
11
  ./scripts/spec-runner.sh design-detail ${input:sub:サブフェーズ(domain, usecase, table, infra)}
12
12
  ```
13
13
 
14
- 引数が無効な場合は、ユーザーに「domain, usecase, table, infra のいずれかを指定してください」と伝えてください。
14
+ 引数が無効な場合は、ユーザーに「domain, usecase, table, infra のいずれかを指定してください」と伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-ゲート設定
2
+
3
+ **チャットで使うコマンド**。ユーザーが `/sr-ゲート設定` の後に続けて入力したゲート名で、以下を**ターミナルで実行**してください(例: `/sr-ゲート設定 glossary_checked`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh set-gate <ユーザーが入力したゲート名>
7
+ ```
8
+
9
+ 引数が空の場合は、ユーザーに「ゲート名を指定してください(例: glossary_checked, test_code_committed)」と伝えてください。
@@ -1,4 +1,4 @@
1
- # /sr-test-design
1
+ # /sr-テスト設計
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -0,0 +1,9 @@
1
+ # /sr-レビュー
2
+
3
+ **チャットで使うコマンド**。ユーザーが `/sr-レビュー` の後に続けて入力したファイルパスで、以下を**ターミナルで実行**してください(例: `/sr-レビュー docs/01_要件/顧客登録.md`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh review-pass <ユーザーが入力したファイルパス>
7
+ ```
8
+
9
+ 引数が空の場合は、ユーザーに「レビュー通過させるファイルパスを指定してください」と伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-仕様
2
+
3
+ **チャットで使うコマンド**。プロジェクト仕様(何を作るか・なぜか・スコープ)を編集します。
4
+
5
+ 1. `docs/02_仕様.md` を開くか、内容を確認する。
6
+ 2. ユーザーと一緒に「このプロジェクトで作るもの」「作る理由」「スコープ(含む/含まない)」「想定ユーザー」を書き足す・修正する。
7
+ 3. 曖昧な点があれば clarify のように質問して解消する。
8
+
9
+ init の前に書いておくと、最初のユースケースを決めやすくなる。
@@ -1,6 +1,6 @@
1
- # /sr-fix
1
+ # /sr-修正
2
2
 
3
- 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力した修正内容を渡します(例: `/sr-fix 顧客名を必須に変更`)。
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力した修正内容を渡します(例: `/sr-修正 顧客名を必須に変更`)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh fix "<ユーザーが入力した内容>"
@@ -1,10 +1,10 @@
1
- # /sr-init
1
+ # /sr-初期化
2
2
 
3
- 以下を**必ずターミナルで実行**してください。ユーザーが `/sr-init` の後に続けて入力した文字列を引数として渡します(例: `/sr-init 顧客登録 顧客管理`)。
3
+ **チャットで使うコマンド**。ユーザーが `/sr-初期化` の後に続けて入力した文字列を引数として、以下を**ターミナルで実行**してください(例: ユーザーが `/sr-初期化 顧客登録 顧客管理` と入力した場合)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh init <ユーザーが入力した引数>
7
7
  ```
8
8
 
9
9
  - **引数あり**(例: `顧客登録 顧客管理`): 未設定なら詳細設定の対話 → 続けてユースケース作成。
10
- - **引数が空**の場合は、ユーザーに「ユースケース名(と任意で集約名)を指定してください」と伝えるか、**設定対話だけ**したい場合は `/sr-configure` を案内してください。
10
+ - **引数が空**の場合は、ユーザーに「ユースケース名(と任意で集約名)を指定してください」と伝えるか、**設定対話だけ**したい場合は `/sr-設定` を案内してください。
@@ -1,4 +1,4 @@
1
- # /sr-complete
1
+ # /sr-完了
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -1,4 +1,4 @@
1
- # /sr-implement
1
+ # /sr-実装
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -0,0 +1,9 @@
1
+ # /sr-憲章
2
+
3
+ **チャットで使うコマンド**。プロジェクト憲章(不変原則・品質ルール)を編集します。
4
+
5
+ 1. `docs/01_憲章.md` を開くか、内容を確認する。
6
+ 2. ユーザーと一緒に「このプロジェクトで守る開発ルール」「品質基準」「フォルダ・成果物の原則」を書き足す・修正する。
7
+ 3. 憲章は技術やツールに依存しない抽象的なルールに留める(API や具体的なバージョンは書かない)。
8
+
9
+ init の前に書いておくと、その後のユースケース開発で参照できる。
@@ -0,0 +1,9 @@
1
+ # /sr-概要設計
2
+
3
+ **チャットで使うコマンド**。以下を**ターミナルで実行**してください。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh design-high
7
+ ```
8
+
9
+ 実行結果をユーザーに伝えてください。
@@ -1,4 +1,4 @@
1
- # /sr-status
1
+ # /sr-状態
2
2
 
3
3
  以下を**必ずターミナルで実行**してください。
4
4
 
@@ -1,6 +1,6 @@
1
- # /sr-hotfix
1
+ # /sr-緊急修正
2
2
 
3
- 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力した緊急修正の内容を渡します(例: `/sr-hotfix ログイン落ちの修正`)。
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力した緊急修正の内容を渡します(例: `/sr-緊急修正 ログイン落ちの修正`)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh hotfix "<ユーザーが入力した内容>"
@@ -1,4 +1,4 @@
1
- # /sr-configure
1
+ # /sr-設定
2
2
 
3
3
  詳細設定(パス・TDD・DDD 等)の**対話のみ**を実行します。ユースケースは作成しません。
4
4
 
@@ -8,4 +8,4 @@
8
8
  ./scripts/spec-runner.sh init
9
9
  ```
10
10
 
11
- 引数なしの init のため、対話で Domain/UseCase のパスやテスト設定を聞かれたあと「最初のユースケースを開始するには…」と表示されて終わります。ユースケースを作る場合は `/sr-init ユースケース名 集約名` を使ってください。
11
+ 引数なしの init のため、対話で Domain/UseCase のパスやテスト設定を聞かれたあと「最初のユースケースを開始するには…」と表示されて終わります。ユースケースを作る場合は `/sr-初期化 ユースケース名 集約名` を使ってください。
@@ -1,6 +1,6 @@
1
- # /sr-design-detail
1
+ # /sr-詳細設計
2
2
 
3
- 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力したサブフェーズ(domain / usecase / table / infra)を渡します(例: `/sr-design-detail domain`)。
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力したサブフェーズ(domain / usecase / table / infra)を渡します(例: `/sr-詳細設計 domain`)。
4
4
 
5
5
  ```bash
6
6
  ./scripts/spec-runner.sh design-detail <ユーザーが入力したサブフェーズ>
@@ -1,9 +0,0 @@
1
- # /sr-design-high
2
-
3
- 以下を**必ずターミナルで実行**してください。
4
-
5
- ```bash
6
- ./scripts/spec-runner.sh design-high
7
- ```
8
-
9
- 実行結果をユーザーに伝えてください。
@@ -1,9 +0,0 @@
1
- # /sr-review
2
-
3
- 以下を**必ずターミナルで実行**してください。$ARGUMENTS にレビュー通過させるファイルパスを指定します(例: `/sr-review docs/requirements/顧客登録.md`)。
4
-
5
- ```bash
6
- ./scripts/spec-runner.sh review-pass $ARGUMENTS
7
- ```
8
-
9
- 引数が空の場合は、ユーザーに「レビュー通過させるファイルパスを指定してください(例: docs/requirements/顧客登録.md)」と伝えてください。
@@ -1,9 +0,0 @@
1
- # /sr-design-high
2
-
3
- 以下を**必ずターミナルで実行**してください。
4
-
5
- ```bash
6
- ./scripts/spec-runner.sh design-high
7
- ```
8
-
9
- 実行結果をユーザーに伝えてください。
@@ -1,9 +0,0 @@
1
- # /sr-review
2
-
3
- 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力したファイルパスを渡します(例: `/sr-review docs/requirements/顧客登録.md`)。
4
-
5
- ```bash
6
- ./scripts/spec-runner.sh review-pass <ユーザーが入力したファイルパス>
7
- ```
8
-
9
- 引数が空の場合は、ユーザーに「レビュー通過させるファイルパスを指定してください」と伝えてください。
@@ -1,9 +0,0 @@
1
- # /sr-set-gate
2
-
3
- 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力したゲート名を渡します(例: `/sr-set-gate glossary_checked`)。
4
-
5
- ```bash
6
- ./scripts/spec-runner.sh set-gate <ユーザーが入力したゲート名>
7
- ```
8
-
9
- 引数が空の場合は、ユーザーに「ゲート名を指定してください(例: glossary_checked, test_code_committed)」と伝えてください。