spec-runner 1.0.0-alpha.1

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 (53) hide show
  1. package/LICENSE +34 -0
  2. package/README.md +193 -0
  3. package/bin/spec-runner.js +715 -0
  4. package/install.sh +80 -0
  5. package/package.json +45 -0
  6. package/templates/base/.github/PULL_REQUEST_TEMPLATE.md +43 -0
  7. package/templates/base/.github/workflows/phase-gate-check.yml +216 -0
  8. package/templates/base/docs/adr/TEMPLATE.md +46 -0
  9. package/templates/base/docs/glossary.md +51 -0
  10. package/templates/base/docs/review/debt.md +8 -0
  11. package/templates/base/scripts/spec-runner.sh +1079 -0
  12. package/templates/base/templates/requirement/template.md +40 -0
  13. package/templates/claude/.claude/commands/sr-complete.md +9 -0
  14. package/templates/claude/.claude/commands/sr-configure.md +11 -0
  15. package/templates/claude/.claude/commands/sr-design-detail.md +9 -0
  16. package/templates/claude/.claude/commands/sr-design-high.md +9 -0
  17. package/templates/claude/.claude/commands/sr-fix.md +9 -0
  18. package/templates/claude/.claude/commands/sr-hotfix.md +9 -0
  19. package/templates/claude/.claude/commands/sr-implement.md +9 -0
  20. package/templates/claude/.claude/commands/sr-init.md +10 -0
  21. package/templates/claude/.claude/commands/sr-review.md +9 -0
  22. package/templates/claude/.claude/commands/sr-set-gate.md +9 -0
  23. package/templates/claude/.claude/commands/sr-status.md +9 -0
  24. package/templates/claude/.claude/commands/sr-test-design.md +9 -0
  25. package/templates/claude/.claude/hooks/pre-tool-use.sh +79 -0
  26. package/templates/claude/.claude/settings.json +29 -0
  27. package/templates/claude/CLAUDE.md +141 -0
  28. package/templates/copilot/.github/copilot-instructions.md +25 -0
  29. package/templates/copilot/.github/prompts/sr-complete.prompt.md +13 -0
  30. package/templates/copilot/.github/prompts/sr-configure.prompt.md +13 -0
  31. package/templates/copilot/.github/prompts/sr-design-detail.prompt.md +14 -0
  32. package/templates/copilot/.github/prompts/sr-design-high.prompt.md +13 -0
  33. package/templates/copilot/.github/prompts/sr-fix.prompt.md +14 -0
  34. package/templates/copilot/.github/prompts/sr-hotfix.prompt.md +14 -0
  35. package/templates/copilot/.github/prompts/sr-implement.prompt.md +13 -0
  36. package/templates/copilot/.github/prompts/sr-init.prompt.md +15 -0
  37. package/templates/copilot/.github/prompts/sr-review.prompt.md +14 -0
  38. package/templates/copilot/.github/prompts/sr-set-gate.prompt.md +14 -0
  39. package/templates/copilot/.github/prompts/sr-status.prompt.md +13 -0
  40. package/templates/copilot/.github/prompts/sr-test-design.prompt.md +13 -0
  41. package/templates/cursor/.cursor/commands/sr-complete.md +9 -0
  42. package/templates/cursor/.cursor/commands/sr-configure.md +11 -0
  43. package/templates/cursor/.cursor/commands/sr-design-detail.md +9 -0
  44. package/templates/cursor/.cursor/commands/sr-design-high.md +9 -0
  45. package/templates/cursor/.cursor/commands/sr-fix.md +9 -0
  46. package/templates/cursor/.cursor/commands/sr-hotfix.md +9 -0
  47. package/templates/cursor/.cursor/commands/sr-implement.md +9 -0
  48. package/templates/cursor/.cursor/commands/sr-init.md +10 -0
  49. package/templates/cursor/.cursor/commands/sr-review.md +9 -0
  50. package/templates/cursor/.cursor/commands/sr-set-gate.md +9 -0
  51. package/templates/cursor/.cursor/commands/sr-status.md +9 -0
  52. package/templates/cursor/.cursor/commands/sr-test-design.md +9 -0
  53. package/templates/cursor/.cursorrules +25 -0
@@ -0,0 +1,9 @@
1
+ # /sr-design-detail
2
+
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力したサブフェーズ(domain / usecase / table / infra)を渡します(例: `/sr-design-detail domain`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh design-detail <ユーザーが入力したサブフェーズ>
7
+ ```
8
+
9
+ 引数が空、または domain / usecase / table / infra 以外の場合は、ユーザーに「サブフェーズを指定してください: domain, usecase, table, infra」と伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-design-high
2
+
3
+ 以下を**必ずターミナルで実行**してください。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh design-high
7
+ ```
8
+
9
+ 実行結果をユーザーに伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-fix
2
+
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力した修正内容を渡します(例: `/sr-fix 顧客名を必須に変更`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh fix "<ユーザーが入力した内容>"
7
+ ```
8
+
9
+ 引数が空の場合は、ユーザーに「修正内容を指定してください」と伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-hotfix
2
+
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力した緊急修正の内容を渡します(例: `/sr-hotfix ログイン落ちの修正`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh hotfix "<ユーザーが入力した内容>"
7
+ ```
8
+
9
+ 引数が空の場合は、ユーザーに「修正内容を指定してください」と伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-implement
2
+
3
+ 以下を**必ずターミナルで実行**してください。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh implement
7
+ ```
8
+
9
+ 実行結果をユーザーに伝えてください。
@@ -0,0 +1,10 @@
1
+ # /sr-init
2
+
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが `/sr-init` の後に続けて入力した文字列を引数として渡します(例: `/sr-init 顧客登録 顧客管理`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh init <ユーザーが入力した引数>
7
+ ```
8
+
9
+ - **引数あり**(例: `顧客登録 顧客管理`): 未設定なら詳細設定の対話 → 続けてユースケース作成。
10
+ - **引数が空**の場合は、ユーザーに「ユースケース名(と任意で集約名)を指定してください」と伝えるか、**設定対話だけ**したい場合は `/sr-configure` を案内してください。
@@ -0,0 +1,9 @@
1
+ # /sr-review
2
+
3
+ 以下を**必ずターミナルで実行**してください。ユーザーが続けて入力したファイルパスを渡します(例: `/sr-review docs/requirements/顧客登録.md`)。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh review-pass <ユーザーが入力したファイルパス>
7
+ ```
8
+
9
+ 引数が空の場合は、ユーザーに「レビュー通過させるファイルパスを指定してください」と伝えてください。
@@ -0,0 +1,9 @@
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)」と伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-status
2
+
3
+ 以下を**必ずターミナルで実行**してください。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh status
7
+ ```
8
+
9
+ 実行結果をユーザーにそのまま伝えてください。
@@ -0,0 +1,9 @@
1
+ # /sr-test-design
2
+
3
+ 以下を**必ずターミナルで実行**してください。
4
+
5
+ ```bash
6
+ ./scripts/spec-runner.sh test-design
7
+ ```
8
+
9
+ 実行結果をユーザーに伝えてください。
@@ -0,0 +1,25 @@
1
+ # spec-runner(Cursor 用ルール)
2
+
3
+ このプロジェクトは **scripts/spec-runner.sh** によるフェーズゲートで運用している。実装前に必ずフェーズを確認すること。
4
+
5
+ ## 最優先
6
+
7
+ - 実装コードを書く前に **必ず** `./scripts/spec-runner.sh status` を実行する。
8
+ - `phase` が `implement` でないときは実装コードを生成しない。ユーザーに「現在のフェーズを確認してください」と伝える。
9
+ - ユーザーが「init して」「status 確認して」「design-high で進めて」などと言ったら、対応する `./scripts/spec-runner.sh` をターミナルで実行する。
10
+ - スラッシュコマンド `/sr-init` などは `.cursor/commands/` に定義済み。チャットで `/sr-status` のように呼び出せる(Agent 経由でシェル実行)。
11
+
12
+ ## TDD(テスト駆動)— デフォルトで有効
13
+
14
+ - 実装前に **テスト設計ドキュメント** と **テストコード** を必ず書く。テストを先に書いて Red → 実装で Green。
15
+ - `.spec-runner/config.sh` の `TDD_ENABLED=false` で無効化すると、テストなしでも implement に進める(オプション)。
16
+
17
+ ## フェーズとコマンド
18
+
19
+ - require → design-high → design-detail (domain → usecase → table → infra) → test-design → implement
20
+ - 各フェーズ完了時: `./scripts/spec-runner.sh review-pass <該当ファイル>`
21
+ - ゲート: `./scripts/spec-runner.sh set-gate glossary_checked` など
22
+ - 実装完了: `./scripts/spec-runner.sh complete`
23
+ - 修正: `./scripts/spec-runner.sh fix "内容"` / `./scripts/spec-runner.sh hotfix "内容"`
24
+
25
+ 詳細はプロジェクトの CLAUDE.md または README を参照。