✦ Reproduce it
Run ScaffBench yourself
The harness is open source. Clone it, point it at any agent — Claude Code, Codex, opencode, Kilo, or Antigravity for Gemini — and it scaffolds each spec, then scores whether the generated project actually installs and builds. Runs work with a logged-in CLI or a plain API key.
✦ Quickstart
Three steps
- 1Clone & installclone the harness
$ git clone https://github.com/Marve10s/Better-Fullstack.git$ cd Better-Fullstack$ bun install - 2Authenticate your agent
Use an agent CLI you're already signed into (subscription / OAuth). Log in once, then the harness drives it — no keys in your environment.
sign in to your agent# Claude Code (Anthropic) — sign in via the app, or:$ claude /login # Codex (OpenAI)$ codex login # Antigravity (Gemini)$ agy # sign in on first launch - 3Run the benchmarkrun all 13 specs, prompt path
$ bun run scaffbench:2 --model claude-opus-4-8 --efforts max --paths promptPrefer to keep validation clean? Split it into two phases — generate everything first, then validate on its own:
two-phase$ bun run scaffbench:2:generate --model gpt-5.5 --paths prompt --out-dir runs/gpt55$ bun run scaffbench:2:validate --out-dir runs/gpt55Results — a leaderboard, per-spec pass, wired-libraries, and cost — land in the output directory, in the same shape as the published reports.
✦ Agents & models
Bring any agent
The provider is inferred from the model id, so one flag picks both the model and the CLI that drives it.
| Agent | Example models | Auth |
|---|---|---|
| Claude Code | claude-opus-4-8, claude-sonnet-5, claude-sonnet-4-6 | subscription · ANTHROPIC_API_KEY |
| Codex | gpt-5.5, gpt-5.3-codex-spark | OPENAI_API_KEY |
| Antigravity (agy) | gemini-3.5-flash, gemini-3.1-pro | Google sign-in |
| opencode | opencode/<model> (incl. free tier) | opencode login |
| Kilo Code | kilo/<provider>/<model> (incl. free tier) | kilo login |
✦ Flags
Tune the run
--model <id>the model to run (see the table above); the provider is inferred from the id--efforts <tier>reasoning effort, where the model supports it--paths prompt|mcp|cliprompt hand-writes everything; mcp goes through the MCP tools; cli composes the CLI command--specs corethe full 13-spec suite by default, or a comma-separated subset of spec ids--generate-only / --validate-existingsplit the run into a generate phase and a validate phase, validated on its own--out-dir <path>where results land; re-use the same directory to resume or validate
✦ Compare
See how your run stacks up
Your numbers land in the same format as the leaderboard. Ran something interesting? Open a pull request with your report.