spec-runner 1.0.4 → 1.0.6

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/README.md CHANGED
@@ -30,7 +30,7 @@ npx spec-runner
30
30
  ```
31
31
 
32
32
  対話では**どの開発環境か**だけ聞かれる(AI ツール・CI・ドキュメント言語)。
33
- ここまでで、`.spec-runner/config.sh`(既定値)と `scripts/`・`docs/`・`.github/` などができる。
33
+ ここまでで、`.spec-runner/config.sh`(既定値)と `.spec-runner/scripts`・`.spec-runner/templates`・`docs/` ができる。CI で github-actions などを選んだ場合は `.github/` もできる。
34
34
 
35
35
  ### 3.5 プロジェクトの土台を書く(推奨・init の前)
36
36
 
@@ -89,9 +89,7 @@ npx spec-runner
89
89
  ⑥ 実装
90
90
  ./.spec-runner/scripts/spec-runner.sh implement
91
91
  テストを Green にする実装を書く
92
-
93
- ⑦ 完了
94
- ./.spec-runner/scripts/spec-runner.sh complete
92
+ 完了したら: git push → PR 作成。次のユースケースは init <名前> で開始
95
93
  ```
96
94
 
97
95
  TDD はデフォルトで有効。実装に進むには「テスト設計ドキュメント」と「テストコードのコミット」が必須。無効にしたいときは `.spec-runner/config.sh` で `export TDD_ENABLED="false"`。
@@ -140,7 +138,7 @@ curl -sSL https://raw.githubusercontent.com/spec-runner/spec-runner/main/install
140
138
  | ④ plan(技術計画) | `design-high` → `design-detail`(domain / usecase / table / infra) |
141
139
  | ⑤ analyze(整合性) | `review-pass` と CI の phase-gate-check |
142
140
  | ⑥ tasks(タスク分割) | テスト設計・実装フェーズでのタスク単位の進め方 |
143
- | ⑦ implement | `implement` → `complete` |
141
+ | ⑦ implement | 実装完了後は push PR。次の UC は `init` で開始 |
144
142
 
145
143
  ---
146
144
 
@@ -178,7 +176,7 @@ curl -sSL https://raw.githubusercontent.com/spec-runner/spec-runner/main/install
178
176
  │ ├── テンプレート一覧.md
179
177
  │ ├── 振り返り/負債.md
180
178
  │ └── 99_設計判断記録/.gitkeep
181
- ├── .github/
179
+ ├── .github/ # CI で github-actions を選択した場合のみ
182
180
  │ ├── workflows/phase-gate-check.yml
183
181
  │ └── PULL_REQUEST_TEMPLATE.md
184
182
  └── docs/ # 付番済み(01_〜04_、99_)要件・概要・詳細設計・テスト設計・設計判断記録
@@ -200,7 +198,7 @@ npx spec-runner --update
200
198
 
201
199
  ## スラッシュコマンド
202
200
 
203
- **`/sr-状態` を実行すると、現在のフェーズと「次にやるべきこと」(次に打つコマンド)が動的に表示される。** フェーズ移行(概要設計〜実装完了)はこの案内に従えばよい。
201
+ **`/sr-状態` を実行すると、現在のフェーズと「次にやるべきこと」(次に打つコマンド)が動的に表示される。** フェーズ移行(概要設計〜実装)はこの案内に従い、実装完了後は push → PR → 次の UC は init で開始。
204
202
 
205
203
  | コマンド | 説明 |
206
204
  |----------|------|
@@ -214,7 +212,7 @@ npx spec-runner --update
214
212
  | `/sr-修正` 内容 | 修正 |
215
213
  | `/sr-緊急修正` 内容 | 緊急修正 |
216
214
 
217
- 概要設計・詳細設計・テスト設計・実装・完了は、`/sr-状態` の案内に表示されるので個別に指定不要。
215
+ 概要設計・詳細設計・テスト設計・実装は、`/sr-状態` の案内に表示されるので個別に指定不要。実装完了後は push → PR。次の UC は `/sr-初期化` で開始。
218
216
 
219
217
  定義: Claude `.claude/commands/` / Cursor `.cursor/commands/` / Copilot `.github/prompts/*.prompt.md`(いずれもファイル名・コマンド名は日本語)
220
218
 
@@ -387,8 +387,11 @@ async function deployFiles(answers) {
387
387
  fs.mkdirSync(path.dirname(adrTemplateDest), { recursive: true });
388
388
  if (!isDryRun) fs.copyFileSync(adrTemplateSrc, adrTemplateDest);
389
389
  }
390
- copyPathFrom(baseDir, '.github/workflows');
391
- copyPathFrom(baseDir, '.github/PULL_REQUEST_TEMPLATE.md');
390
+ // CI で github-actions を選んだときだけ .github のワークフロー・PR テンプレートを配置
391
+ if (answers.ci === 'github-actions') {
392
+ copyPathFrom(baseDir, '.github/workflows');
393
+ copyPathFrom(baseDir, '.github/PULL_REQUEST_TEMPLATE.md');
394
+ }
392
395
 
393
396
  // 2. Claude Code 選択時: templates/claude/ をそのままコピー
394
397
  if (tools.includes('claude')) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spec-runner",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "AI-driven DDD phase gate system — design-first enforcement for Claude Code, Cursor, and Copilot",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -18,7 +18,6 @@
18
18
  # ./.spec-runner/scripts/spec-runner.sh fix <修正内容>
19
19
  # ./.spec-runner/scripts/spec-runner.sh hotfix <内容>
20
20
  # ./.spec-runner/scripts/spec-runner.sh review-pass <ドキュメントパス>
21
- # ./.spec-runner/scripts/spec-runner.sh complete
22
21
  # =============================================================================
23
22
 
24
23
  set -euo pipefail
@@ -245,13 +244,17 @@ cmd_init() {
245
244
  step "ユースケース初期化: $usecase"
246
245
  echo ""
247
246
 
248
- # 既存のstateがあれば警告
247
+ # 既存のstateがあれば警告(SR_YES=1 のときは AI/CI 用に確認をスキップ)
249
248
  if [[ -f "$STATE_FILE" ]]; then
250
249
  local current
251
250
  current=$(state_get "usecase")
252
- warn "作業中のユースケース '$current' があります"
253
- read -r -p "上書きしますか? [y/N] " answer
254
- [[ "$answer" =~ ^[Yy]$ ]] || die "中止しました"
251
+ if [[ "${SR_YES:-0}" == "1" ]]; then
252
+ warn "作業中のユースケース '$current' を上書きします(SR_YES=1)"
253
+ else
254
+ warn "作業中のユースケース '$current' があります"
255
+ read -r -p "上書きしますか? [y/N] " answer
256
+ [[ "$answer" =~ ^[Yy]$ ]] || die "中止しました"
257
+ fi
255
258
  fi
256
259
 
257
260
  # ブランチ作成
@@ -708,55 +711,10 @@ cmd_implement() {
708
711
  info " 1. テストを Green にする実装を書く"
709
712
  info " 2. 設計と乖離した場合は先にドキュメントを更新する"
710
713
  info " 3. コードとドキュメントを同一コミットに含める"
711
- info " 4. 完了後: ./.spec-runner/scripts/spec-runner.sh complete"
714
+ info " 4. 完了したら: git push → PR 作成。次のユースケースは init <名前> で開始"
712
715
  warn "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
713
716
  }
714
717
 
715
- # ── complete ──────────────────────────────────────────────────────────────────
716
- cmd_complete() {
717
- require_state
718
-
719
- echo ""
720
- step "【完了チェック】実装の完了条件を確認します"
721
- echo ""
722
-
723
- local errors=0
724
-
725
- # テストが通るか確認を促す
726
- warn "テストが全て通過していることを確認してください"
727
- read -r -p "全テスト通過済みですか? [y/N] " ans_test
728
- [[ "$ans_test" =~ ^[Yy]$ ]] || { fail "テストを通過させてから完了してください"; ((errors++)); }
729
-
730
- # ドキュメントと実装の乖離チェック
731
- read -r -p "設計ドキュメントと実装に乖離はないですか? [y/N] " ans_doc
732
- [[ "$ans_doc" =~ ^[Yy]$ ]] || { fail "ドキュメントを更新してから完了してください"; ((errors++)); }
733
-
734
- if [[ $errors -gt 0 ]]; then
735
- echo ""
736
- die "完了条件を満たしていません"
737
- fi
738
-
739
- state_set_str "phase" "complete"
740
- state_push_history "実装完了"
741
-
742
- # ブランチ情報の表示
743
- local branch agg_branch usecase
744
- branch=$(state_get "branch")
745
- agg_branch=$(state_get "aggregate_branch")
746
- usecase=$(state_get "usecase")
747
-
748
- echo ""
749
- ok "『$usecase』の実装が完了しました!"
750
- echo ""
751
- info "次のステップ:"
752
- info " 1. git push origin $branch"
753
- info " 2. Pull Request を作成(.github/PULL_REQUEST_TEMPLATE.md を使用)"
754
- if [[ -n "$agg_branch" ]]; then
755
- info " 3. PRマージ先: $agg_branch"
756
- info " 4. 関連ユースケースがすべて揃ったら $agg_branch → main へPR"
757
- fi
758
- }
759
-
760
718
  # ── review-pass ───────────────────────────────────────────────────────────────
761
719
  cmd_review_pass() {
762
720
  local file="${1:-}"
@@ -832,13 +790,31 @@ cmd_review_pass() {
832
790
  esac
833
791
  }
834
792
 
793
+ # 日本語ゲート名 → 内部キー(set-gate で日本語指定時に使用)
794
+ gate_ja_to_key() {
795
+ case "$1" in
796
+ 要件レビュー済み) echo "require_approved" ;;
797
+ 用語集確認済み) echo "glossary_checked" ;;
798
+ 概要設計レビュー済み) echo "high_level_reviewed" ;;
799
+ ドメインモデルレビュー済み) echo "domain_model_reviewed" ;;
800
+ ユースケース設計レビュー済み) echo "usecase_design_reviewed" ;;
801
+ テーブル設計レビュー済み) echo "table_design_reviewed" ;;
802
+ インフラ設計レビュー済み) echo "infra_design_reviewed" ;;
803
+ テスト設計レビュー済み) echo "test_design_reviewed" ;;
804
+ テストコードコミット済み) echo "test_code_committed" ;;
805
+ *) echo "$1" ;;
806
+ esac
807
+ }
808
+
835
809
  # ── set-gate ──────────────────────────────────────────────────────────────────
836
810
  cmd_set_gate() {
837
811
  require_state
838
812
  local gate="${1:-}"
839
- [[ -n "$gate" ]] || die "使い方: ./.spec-runner/scripts/spec-runner.sh set-gate <ゲート名>"
840
- state_set_bool "gates.$gate" true
841
- ok "ゲートフラグ設定: $gate = true"
813
+ [[ -n "$gate" ]] || die "使い方: ./.spec-runner/scripts/spec-runner.sh set-gate <ゲート名> 例: 用語集確認済み、テストコードコミット済み"
814
+ local key
815
+ key=$(gate_ja_to_key "$gate")
816
+ state_set_bool "gates.$key" true
817
+ ok "ゲートフラグ設定: $key = true"
842
818
  }
843
819
 
844
820
  # ── status 表示用:フェーズ・ゲートの日本語ラベル ─────────────────────────────
@@ -966,7 +942,7 @@ cmd_status() {
966
942
  require)
967
943
  echo -e " 1. ${CYAN}$req_file${NC} を編集"
968
944
  echo -e " 2. /sr-レビュー $req_file"
969
- echo -e " 3. /sr-ゲート設定 glossary_checked"
945
+ echo -e " 3. /sr-ゲート設定 用語集確認済み"
970
946
  echo -e " 4. /sr-概要設計"
971
947
  ;;
972
948
  design-high)
@@ -993,15 +969,12 @@ cmd_status() {
993
969
  ;;
994
970
  test-design)
995
971
  echo -e " 1. docs/04_テスト設計/$(uc_slug).md を編集し、テストコードを書く(Red)"
996
- echo -e " 2. テストコードをコミット → /sr-ゲート設定 test_code_committed"
972
+ echo -e " 2. テストコードをコミット → /sr-ゲート設定 テストコードコミット済み"
997
973
  echo -e " 3. /sr-レビュー docs/04_テスト設計/$(uc_slug).md"
998
974
  echo -e " 4. /sr-実装"
999
975
  ;;
1000
976
  implement)
1001
- echo -e " 実装してテストを Green にしたら: /sr-完了"
1002
- ;;
1003
- complete)
1004
- echo -e " 完了。PR を作成してマージしてください。"
977
+ echo -e " 実装完了したら: git push → PR 作成。次のユースケースは /sr-初期化 <名前> で開始"
1005
978
  ;;
1006
979
  fix)
1007
980
  echo -e " 案内に従って該当ドキュメントを修正し、必要なら /sr-詳細設計 等から再実行。"
@@ -1132,7 +1105,6 @@ main() {
1132
1105
  design-detail) cmd_design_detail "$@" ;;
1133
1106
  test-design) cmd_test_design "$@" ;;
1134
1107
  implement) cmd_implement "$@" ;;
1135
- complete) cmd_complete "$@" ;;
1136
1108
  review-pass) cmd_review_pass "$@" ;;
1137
1109
  set-gate) cmd_set_gate "$@" ;;
1138
1110
  status) cmd_status "$@" ;;
@@ -1150,11 +1122,10 @@ main() {
1150
1122
  echo " design-detail <sub> 詳細設計フェーズ(sub: domain|usecase|table|infra)"
1151
1123
  echo " test-design テスト設計フェーズに移行(ゲートチェック)"
1152
1124
  echo " implement 実装フェーズに移行(ゲートチェック)"
1153
- echo " complete 実装完了(完了チェック)"
1154
1125
  echo ""
1155
1126
  echo -e "${BOLD}レビュー:${NC}"
1156
1127
  echo " review-pass <ファイル> ドキュメントをレビュー通過にする"
1157
- echo " set-gate <ゲート名> 手動でゲートフラグを立てる"
1128
+ echo " set-gate <ゲート名> 手動でゲートフラグを立てる(日本語可。例: 用語集確認済み)"
1158
1129
  echo ""
1159
1130
  echo -e "${BOLD}確認:${NC}"
1160
1131
  echo " status 現在の状態を表示"
@@ -1,9 +1,9 @@
1
1
  # /sr-ゲート設定
2
2
 
3
- **チャットで使うコマンド**。$ARGUMENTS にゲート名を指定し、以下を**ターミナルで実行**してください(例: `/sr-ゲート設定 glossary_checked`)。
3
+ **チャットで使うコマンド**。$ARGUMENTS にゲート名を指定し、以下を**ターミナルで実行**してください(例: `/sr-ゲート設定 用語集確認済み`)。
4
4
 
5
5
  ```bash
6
6
  ./.spec-runner/scripts/spec-runner.sh set-gate $ARGUMENTS
7
7
  ```
8
8
 
9
- 引数が空の場合は、ユーザーに「ゲート名を指定してください(例: glossary_checked, test_code_committed)」と伝えてください。
9
+ ゲート名は**日本語**でも**英語キー**でも指定できます。引数が空の場合は、ユーザーに「ゲート名を指定してください。例: 用語集確認済み、テストコードコミット済み、概要設計レビュー済み」と伝えてください。
@@ -92,7 +92,7 @@
92
92
  - **TDD: テストを Green にする実装を書く**
93
93
  - 設計と乖離した場合は先にドキュメントを更新する
94
94
  - コードとドキュメントを同一コミットに含める
95
- - 完了後: `./.spec-runner/scripts/spec-runner.sh complete`
95
+ - 実装完了後: git push → PR。次のユースケースは `./.spec-runner/scripts/spec-runner.sh init <名前>` で開始
96
96
 
97
97
  ---
98
98
 
@@ -19,7 +19,7 @@
19
19
  - require → design-high → design-detail (domain → usecase → table → infra) → test-design → implement
20
20
  - 各フェーズ完了時: `./.spec-runner/scripts/spec-runner.sh review-pass <該当ファイル>`
21
21
  - ゲート: `./.spec-runner/scripts/spec-runner.sh set-gate glossary_checked` など
22
- - 実装完了: `./.spec-runner/scripts/spec-runner.sh complete`
22
+ - 実装完了後: git push → PR。次のユースケースは `init <名前>` で開始
23
23
  - 修正: `./.spec-runner/scripts/spec-runner.sh fix "内容"` / `./.spec-runner/scripts/spec-runner.sh hotfix "内容"`
24
24
 
25
25
  詳細はプロジェクトの README を参照。
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  agent: 'agent'
3
3
  description: 'spec-runner: ゲート通過を記録'
4
- argument-hint: 'ゲート名(例: glossary_checked, test_code_committed)'
4
+ argument-hint: 'ゲート名(例: 用語集確認済み、テストコードコミット済み)'
5
5
  tools: ['shell']
6
6
  ---
7
7
 
@@ -11,4 +11,4 @@ tools: ['shell']
11
11
  ./.spec-runner/scripts/spec-runner.sh set-gate ${input:gate:ゲート名}
12
12
  ```
13
13
 
14
- 引数が空の場合は、ユーザーに「ゲート名を指定してください」と伝えてください。
14
+ ゲート名は日本語(用語集確認済み、テストコードコミット済み など)または英語キーで指定できます。引数が空の場合は、ユーザーに「ゲート名を指定してください。例: 用語集確認済み、テストコードコミット済み」と伝えてください。
@@ -1,9 +1,11 @@
1
1
  # /sr-ゲート設定
2
2
 
3
- **チャットで使うコマンド**。ユーザーが `/sr-ゲート設定` の後に続けて入力したゲート名で、以下を**ターミナルで実行**してください(例: `/sr-ゲート設定 glossary_checked`)。
3
+ **チャットで使うコマンド**。ユーザーが `/sr-ゲート設定` の後に続けて入力したゲート名で、以下を**ターミナルで実行**してください(例: `/sr-ゲート設定 用語集確認済み`)。
4
4
 
5
5
  ```bash
6
6
  ./.spec-runner/scripts/spec-runner.sh set-gate <ユーザーが入力したゲート名>
7
7
  ```
8
8
 
9
- 引数が空の場合は、ユーザーに「ゲート名を指定してください(例: glossary_checked, test_code_committed)」と伝えてください。
9
+ ゲート名は**日本語**でも**英語キー**でも指定できます。引数が空の場合は、ユーザーに次のように伝えてください。
10
+
11
+ 「ゲート名を指定してください。例: 用語集確認済み、テストコードコミット済み、概要設計レビュー済み」
@@ -1,10 +1,35 @@
1
1
  # /sr-初期化
2
2
 
3
- **チャットで使うコマンド**。ユーザーが `/sr-初期化` の後に続けて入力した文字列を引数として、以下を**ターミナルで実行**してください(例: ユーザーが `/sr-初期化 顧客登録 顧客管理` と入力した場合)。
3
+ **チャットで使うコマンド**。ユーザーが `/sr-初期化` の後に続けて入力した文字列を引数として扱います(例: `/sr-初期化 Todoアプリ` ユースケース名「Todoアプリ」)。
4
4
 
5
- ```bash
6
- ./.spec-runner/scripts/spec-runner.sh init <ユーザーが入力した引数>
7
- ```
5
+ ## 重要: 対話は「チャット上で AI が埋める」形式で行う
8
6
 
9
- - **引数あり**(例: `顧客登録 顧客管理`): 未設定なら詳細設定の対話 続けてユースケース作成。
10
- - **引数が空**の場合は、ユーザーに「ユースケース名(と任意で集約名)を指定してください」と伝えるか、**設定対話だけ**したい場合は `/sr-設定` を案内してください。
7
+ - **ターミナルで read npx --configure の入力待ちにしないこと。** 未設定時は、**AI が** プロジェクト構成を確認し、必要ならチャットでユーザーに聞きながら設定を決め、**AI が** `.spec-runner/config.sh` を編集・生成してから init を実行する。
8
+
9
+ ## 手順
10
+
11
+ 1. **設定済みか確認**
12
+ `.spec-runner/config.sh` が存在し、かつ `CONFIGURED="true"` かどうかを確認する。
13
+
14
+ 2. **未設定の場合(config.sh がない、または CONFIGURED が true でない)**
15
+ - プロジェクトの `package.json` や既存の `src/` などを確認し、Domain/UseCase/テストのパスなどを推測する。
16
+ - 必要ならチャットでユーザーに聞く(例: 「Domain のパスは `src/domain` でよさそうですが、変更しますか?」)。
17
+ - 決まったら **AI が** `.spec-runner/config.sh` を編集または作成する。必ず `export CONFIGURED="true"` を設定し、以下の変数も設定する(既存の config.sh がある場合は必要な部分だけ上書きする)。
18
+ - その後、ターミナルで `./.spec-runner/scripts/spec-runner.sh init <引数>` を実行する。このときはすでに CONFIGURED が true なので、ターミナルでの対話は発生しない。
19
+
20
+ 3. **設定済みの場合**
21
+ そのまま `./.spec-runner/scripts/spec-runner.sh init <ユーザーが入力した引数>` を実行する。
22
+
23
+ 4. **引数がない場合**
24
+ ユーザーに「ユースケース名(と任意で集約名)を指定してください」と伝えるか、設定だけしたい場合は `/sr-設定` を案内する。
25
+
26
+ ## config.sh に必要な変数(AI が書くときの目安)
27
+
28
+ - `CONFIGURED="true"` (必須)
29
+ - `DOMAIN_PATH`, `USECASE_PATH`, `INFRA_PATH`(例: `src/domain`, `src/useCase`, `src/infrastructure`)
30
+ - `TEST_DIR`(例: `tests`), `SOURCE_EXTENSIONS`(例: `ts tsx js jsx`), `TEST_EXTENSIONS`(例: `test.ts spec.ts`)
31
+ - `TDD_ENABLED`, `SPEC_RUNNER_DDD_ENABLED`(`"true"` / `"false"`)
32
+ - `BUILD_CMD`, `TEST_CMD`, `LINT_CMD`(例: `npm run build`, `npm test`, `npm run lint`)
33
+ - その他、既存の `.spec-runner/config.sh` にあれば同じ形式で揃える(`SPEC_RUNNER_FRAMEWORK`, `SPEC_RUNNER_TOOLS`, `SPEC_RUNNER_LANGUAGE`, `CI_PLATFORM` など)。
34
+
35
+ 非対話で実行したいときは、上書き確認もスキップするため `SR_YES=1 ./.spec-runner/scripts/spec-runner.sh init <引数>` のように実行してよい。
@@ -1,11 +1,20 @@
1
1
  # /sr-設定
2
2
 
3
- 詳細設定(パス・TDD・DDD 等)の**対話のみ**を実行します。ユースケースは作成しません。
3
+ 詳細設定(パス・TDD・DDD 等)を**チャット上で AI が埋める**形で行います。ユースケースは作成しません。
4
4
 
5
- 以下を**必ずターミナルで実行**してください。
5
+ ## 重要: 対話はターミナルではなくチャットで行う
6
6
 
7
- ```bash
8
- ./.spec-runner/scripts/spec-runner.sh init
9
- ```
7
+ - **ターミナルで `init` を実行して入力待ちにしないこと。** AI がプロジェクトを確認し、必要ならチャットでユーザーに聞きながら設定を決め、**AI が** `.spec-runner/config.sh` を編集・生成する。
10
8
 
11
- 引数なしの init のため、対話で Domain/UseCase のパスやテスト設定を聞かれたあと「最初のユースケースを開始するには…」と表示されて終わります。ユースケースを作る場合は `/sr-初期化 ユースケース名 集約名` を使ってください。
9
+ ## 手順
10
+
11
+ 1. `.spec-runner/config.sh` の有無を確認する。ない場合は `npx spec-runner` で一度セットアップされている必要がある(config.sh が存在する前提)。
12
+ 2. プロジェクト構成(`package.json`、既存の `src/` やテストディレクトリなど)を確認し、以下を決める(不明ならチャットでユーザーに聞く):
13
+ - Domain / UseCase / Infrastructure のパス
14
+ - テストディレクトリ、ソース・テストの拡張子
15
+ - TDD を必須にするか、DDD を使うか
16
+ - CI プラットフォーム、ドキュメント言語 など
17
+ 3. **AI が** `.spec-runner/config.sh` を編集または作成する。必ず `export CONFIGURED="true"` を設定し、`sr-初期化` のコマンド説明にある変数(DOMAIN_PATH, USECASE_PATH, TEST_DIR, TDD_ENABLED など)を適切に設定する。
18
+ 4. 完了したら「設定を config.sh に反映しました。ユースケースを開始する場合は `/sr-初期化 ユースケース名 集約名` を使ってください」と伝える。
19
+
20
+ **ターミナルで `./.spec-runner/scripts/spec-runner.sh init` を実行して対話に頼る必要はない。**
@@ -8,6 +8,7 @@
8
8
  - `phase` が `implement` でないときは実装コードを生成しない。ユーザーに「現在のフェーズを確認してください」と伝える。
9
9
  - ユーザーが「init して」「status 確認して」「design-high で進めて」などと言ったら、対応する `./scripts/spec-runner.sh` をターミナルで実行する。
10
10
  - スラッシュコマンド `/sr-init` などは `.cursor/commands/` に定義済み。チャットで `/sr-status` のように呼び出せる(Agent 経由でシェル実行)。
11
+ - **初期化・設定**: `/sr-初期化` や `/sr-設定` では、未設定時も**ターミナルの入力待ちにしない**。AI がプロジェクトを確認し、チャットで聞くか推測して `.spec-runner/config.sh` を編集・生成してから init を実行する(対話は「AI がどんどん埋めていく」形式)。
11
12
 
12
13
  ## TDD(テスト駆動)— デフォルトで有効
13
14
 
@@ -19,7 +20,7 @@
19
20
  - require → design-high → design-detail (domain → usecase → table → infra) → test-design → implement
20
21
  - 各フェーズ完了時: `./scripts/spec-runner.sh review-pass <該当ファイル>`
21
22
  - ゲート: `./scripts/spec-runner.sh set-gate glossary_checked` など
22
- - 実装完了: `./scripts/spec-runner.sh complete`
23
+ - 実装完了後: git push → PR。次のユースケースは `./scripts/spec-runner.sh init <名前>` で開始
23
24
  - 修正: `./scripts/spec-runner.sh fix "内容"` / `./scripts/spec-runner.sh hotfix "内容"`
24
25
 
25
26
  詳細はプロジェクトの CLAUDE.md または README を参照。
@@ -1,9 +0,0 @@
1
- # /sr-完了
2
-
3
- 以下を**必ずターミナルで実行**してください。
4
-
5
- ```bash
6
- ./.spec-runner/scripts/spec-runner.sh complete
7
- ```
8
-
9
- 実行結果をユーザーに伝えてください。
@@ -1,13 +0,0 @@
1
- ---
2
- agent: 'agent'
3
- description: 'spec-runner: 実装フェーズ完了'
4
- tools: ['shell']
5
- ---
6
-
7
- 以下を**必ずシェルで実行**してください。
8
-
9
- ```bash
10
- ./.spec-runner/scripts/spec-runner.sh complete
11
- ```
12
-
13
- 実行結果をユーザーに伝えてください。
@@ -1,9 +0,0 @@
1
- # /sr-完了
2
-
3
- 以下を**必ずターミナルで実行**してください。
4
-
5
- ```bash
6
- ./.spec-runner/scripts/spec-runner.sh complete
7
- ```
8
-
9
- 実行結果をユーザーに伝えてください。