Label an issue.
Get a pull request.
romp runs your coding agent on labelled issues in an isolated worktree, re-runs your verify command, and opens the PR. No API keys, no cloud runner.
Watch it work
romp runs several issues at once. One watcher claims the issue, runs each agent in its own worktree, re‑runs verify, and hands back the pull request links.
Why romp
Three decisions that separate a pull request you can merge from one you have to re‑read line by line.
A finish line, not a task
Every job carries a goal contract — GATE, DONE, PROVE IT, CONSTRAINTS. The agent has to meet a stated finish line instead of deciding for itself when it is finished.
Independent verification
romp re-runs your verify command itself after the agent exits. A job is done when your test suite says so — never because the agent claimed it.
No API keys, no cloud
romp drives the Claude Code or Codex CLI you are already logged into, and talks to GitHub through the gh CLI. No extra key, no runner, no new account.
Install
A single Go binary. Pick whichever route you already trust.
Recommended. Requires Go 1.25+ — builds from source into your Go bin directory.
Prebuilt from the latest GitHub release. No toolchain needed.
Requires Go 1.25+ and an authenticated gh CLI.
Know the risks
romp runs a real coding agent on your machine. Four things to understand first.
The label is privileged
Adding the trigger label authorizes your machine to execute whatever that issue says. Label only issues you would run yourself.
romp never merges
It opens the pull request and stops. You review and merge. Branch protection on the default branch is strongly recommended.
No secrets in the tree
The agent can read the whole worktree. Don't point romp at a repo with production credentials checked in.
Sandboxing is the harness's
romp adds no sandbox of its own. It inherits whatever Codex or Claude Code enforces — which is not a substitute for the rule above.
Common questions
What romp does, what it refuses to do, and how it behaves with a team on the same repo.
What is romp?
romp is an open-source CLI that watches a GitHub repo for labelled issues, runs your local coding agent (Claude Code or Codex) on each one in an isolated git worktree, independently re-runs your verify command, and opens a pull request.
Does romp need an API key or a cloud runner?
No. romp drives your already-logged-in agent CLI and uses gh for GitHub. No cloud runner, no extra API key, no new account.
How does romp know a change is actually done?
A job is done only when an explicit verify command — committed in romp.toml under [verify] — passes, re-run by romp itself after the agent exits. The agent's word is never trusted.
What happens when an issue is under-specified?
The agent self-rejects before touching code, writes the specific gap to .romp/blocked.md, and romp relabels the issue romp:blocked and posts the gap as a comment. A plausible PR solving the wrong problem costs more than no PR.
Can two teammates run romp on the same repo?
Yes. Claiming is atomic: romp inserts a job row with a unique (repo, issue) constraint and adds the claim label, so concurrent watchers skip issues each other have claimed.
Does romp merge pull requests?
No. romp opens the PR and stops. You review and merge. Branch protection on the default branch is strongly recommended.