Codex reviews. Claude builds. You ship.
Chat with Codex to shape your idea, type /go, and watch the pipeline turn conversation into committed code.
spec2commit.mp4
Pipeline
SPEC → PLAN → REVIEW → IMPLEMENT → REVIEW → COMMIT
Codex distills your chat into a spec. Claude plans, Codex reviews the plan. Claude implements, Codex reviews the code. Review loops retry up to 10 times each for plan and code. Human gates pause for your approval by default (--auto-approve to skip).
Install
git clone https://github.com/baturyilmaz/spec2commit.git cd spec2commit && npm install && npm run build && npm link
Requires Claude Code and OpenAI Codex installed and authenticated.
Usage
spec2commit # current directory spec2commit ~/my-app # specific project spec2commit --resume # resume previous session spec2commit --auto-approve # skip human review gates
Config
| Variable | Default | Description |
|---|---|---|
S2C_MAX_REVIEWS |
10 |
Max review loops per phase |
S2C_CLAUDE_TIMEOUT |
600000 |
Claude timeout (ms) |
S2C_CODEX_TIMEOUT |
600000 |
Codex timeout (ms) |
Architecture
Single-process Ink (React) terminal app. Both agents spawn as CLI child processes:
- Codex —
codex exec --json. Chat uses--sandbox read-only, pipeline uses--full-auto. - Claude —
claude -p --output-format stream-json --dangerously-skip-permissions
State persists to .spec2commit/state.json.
Development
npm run dev # tsx, no build needed npm run build # tsc → dist/ npm run typecheck # type check only npm run lint # eslint npm run format # prettier