GitHub - baturyilmaz/spec2commit

2 min read Original article ↗

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:

  • Codexcodex exec --json. Chat uses --sandbox read-only, pipeline uses --full-auto.
  • Claudeclaude -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

License

MIT