Agentic developer tools Live
Greenlight
An AI agent that fixes failing tests. Point it at a repository and it reproduces the failure, finds the root cause, edits the code—then re-runs the tests itself instead of trusting the model.
The engineering story
Why I built it. Failing builds are a constant tax on teams: a dependency bump breaks a test, or a refactor misses an edge case. Greenlight handles the first pass—it reproduces the failure, finds a fix, proves it with the project’s own tests, and hands back a reviewable diff.
A hand-written loop. I didn’t use an SDK’s automatic function calling, so every tool call is visible, guarded, logged and counted against a budget. One provider interface has Claude and Gemini adapters, each keeping its native message history so thinking blocks and thought signatures survive between turns.
Guardrails by design. There is no general shell tool—the model can only run your test command. Test files are read-only by default, secret files are refused by every tool, credentials are scrubbed from the test environment, key-shaped strings are redacted, and each run stops at a hard step, token and cost limit.
Where teams work. A CLI, a web UI with recorded replays you can watch without an API key, and a GitHub Action that turns a failing CI run into a pull request for human review—it suggests, it doesn’t merge.
Measured honestly. On a 10-task synthetic suite scored with hidden tests, a small model (gemini-3.1-flash-lite) solved 10/10. On a harder SWE-bench-style benchmark of 22 real bug fixes from 8 open-source libraries—with the scorer verified by an oracle on all 22—it solved 4 of the 13 tasks it attempted (31%); free-tier quota stopped the other 9. Every fix’s diff is published.
- $ greenlight fix ./demo
- ✕ 1 failed test_cart.py
- → read cart.py
- → follow import pricing.py
- → edit pricing.py — fix formula
- → re-run tests independently
- ✓ 4 passed fixed & verified · 8 steps
- Synthetic suite
- 10/10
- Real bugs, attempted
- 4/13
- Oracle-verified tasks
- 22