フェーズ駆動で設計を飛ばさないようにする仕組み。npx spec-runner でプロジェクトに .spec-runner/ を入れ、次のステップ を 1 本だけ返すコマンドに従って進める。
npx spec-runnerまたは:
curl -sSL https://raw.githubusercontent.com/TEEE88/spec-runner/main/install.sh | bashいずれも、プロジェクト直下に .spec-runner/ ができる。
-
プロジェクトルートで次を実行する。
./.spec-runner/spec-runner.sh 次のステップ --json
-
出力の
command_fileに書いてある.spec-runner/steps/*.mdを開き、その指示に従って作業する。 -
作業が終わったら、再度 1 を実行する。次のステップが返る。
AI から使う場合は、/spec-runner のように「spec-runner を実行する」と伝えればよい。フェーズやコマンド名を覚える必要はない。
設計書(docs/01..06)と UC 仕様(docs/02_ユースケース仕様/)をどんな順で作っていくかは docs/flow.md にまとめています。
<プロジェクトルート>/
├── .spec-runner/
│ ├── spec-runner.sh # 入口(次のステップ --json)
│ ├── project.json # 設定(ブランチ命名・必須ドキュメント・テストコマンド等)
│ ├── phase-locks.json # フェーズの通過状態
│ ├── grade-history.json # グレード(LOOP1 / A / B / C)
│ ├── scripts/ # spec-runner-core.sh, check, branch, test 等
│ ├── steps/ # 憲章・ドメイン設計・仕様策定・曖昧さ解消・テスト設計・実装 等の .md
│ └── templates/ # UC 仕様書ひな形
├── .claude/commands/spec-runner.md # Claude 用コマンド定義(/spec-runner)
└── (AI は Claude Code 前提)
- Node.js 16+
- jq
- git
- bash 4.0+
すでに .spec-runner/ があるときは上書きしない。上書きしたい場合:
SPEC_RUNNER_FORCE=1 npx spec-runner- このリポジトリでは、今後 コミットごとに
package.jsonのversionを更新する。 - バージョンは原則として SemVer に従い、迷う場合はパッチ(
x.y.Z)を 1 つ上げる。 - 1コミット内で複数の変更をまとめた場合も、コミット単位で 1 回だけ更新する。
MIT