devloop · Spec in. Reviewed code out.
░█▀▄░█▀▀░█░█░█░░░█▀█░█▀█░█▀█<br>░█░█░█▀▀░▀▄▀░█░░░█░█░█░█░█▀▀<br>░▀▀░░▀▀▀░░▀░░▀▀▀░▀▀▀░▀▀▀░▀░░
Spec-driven code/review loop that runs until all<br>acceptance criteria are met and bugs fixed by agents.
$ curl -fsSL https://devloop.sh/install | bash
Requires Codex and Claude Code. Runs on macOS.
## WHY
Developers now spend most of their time in code<br>review, assisted by coding agents. But the same<br>model family can't both code and review. It<br>favors its own outputs. Devloop makes Codex implement and<br>Claude Code review adversarially (or vice versa),<br>until all criteria are met and reviews addressed, so<br>humans only come in where judgment pays off: at the<br>spec and PR sign-off stages.
## HOW IT WORKS
[*]<br>Spec:<br>/devloop-spec skill generates a<br>short markdown<br>spec with a clear problem, outcome, acceptance<br>criteria, and what's in scope as much as what's<br>out.
[*]<br>Code: Codex<br>implements the spec in isolated git worktrees.
[*]<br>Review: Claude<br>Code runs /devloop-review against<br>the spec to<br>ensure all acceptance gates along with<br>engineering gates (security, maintainability,<br>correctness, simplicity, etc.) are met.
[*]<br>Loop: Iterates on<br>reject, stops on accept or max passes, and<br>generates a PR ready for human review.
## SKILLS
Devloop ships two skills, installed for both agents:
[*]<br>/devloop-spec: turns a rough idea,<br>notes, a URL, or an interview into one<br>concrete, devloop-ready spec.
[*]<br>/devloop-review: judges each pass<br>against the spec and engineering quality gates,<br>returning ACCEPT, REJECT, or UNCLEAR with fix<br>instructions.
## WHEN (NOT) TO USE
When to use
[]<br>The work can be pinned down in a clear<br>spec through an interview with the<br>coding agent.
[]<br>The change is large or multi-step enough<br>that adversarial review actually catches<br>something.
[]<br>You want the agents to iterate<br>unattended and only pull you in for the<br>spec and PR sign-off.
When not to use
[]<br>The task is one-shotable and the scope<br>is tiny: just ask the agent directly.
[]<br>The work is exploratory or open-ended,<br>where acceptance criteria can't be<br>written up front.
[]<br>You want hands-on control of every edit<br>rather than a loop running on its own.
## FAQ
[]<br>Will it touch my working tree?
No. It runs in isolated sibling worktrees and<br>never pushes or opens a PR unless you pass<br>--create-pr. Pass<br>--in-place to work in your<br>current checkout instead.
[]<br>Which agent codes, which reviews?
Codex codes and Claude reviews by default.<br>Swap either with --coder /<br>--reviewer.
[]<br>Can it run my tests?
Yes. Add a .devloop/verify hook<br>with your build, lint, or test command. It<br>gates acceptance and blocks the loop when it<br>fails.
[]<br>When does the loop stop?
On ACCEPT, on a stall, or when it runs out<br>of passes (up to 5 by default, clamped<br>1-10). A 30-minute timeout caps each run.
[]<br>Any telemetry?
None. One auditable Bash script; tracks and<br>reports land under .devloop/.