Getting Started

Install romp, verify your machine, and run your first labelled issue.

Requirements

  • git 2.35+ — the first release with reliable worktree support
  • gh — authenticated via gh auth login
  • codex or claude, logged in
  • Go 1.25+ to build, or a release binary

Install

go install github.com/BRO3886/romp/cmd/romp@latest

Download a release

Apple Silicon:

curl -LO https://github.com/BRO3886/romp/releases/latest/download/romp-darwin-arm64.tar.gz
tar xzf romp-darwin-arm64.tar.gz
mkdir -p ~/.local/bin && mv romp ~/.local/bin/romp

Intel:

curl -LO https://github.com/BRO3886/romp/releases/latest/download/romp-darwin-amd64.tar.gz
tar xzf romp-darwin-amd64.tar.gz
mkdir -p ~/.local/bin && mv romp ~/.local/bin/romp

Build from source

git clone https://github.com/BRO3886/romp.git
cd romp
make build
# Binary at ./bin/romp

Quickstart

romp reads the repo from your current directory’s origin remote.

cd ~/code/your-project

romp doctor        # verify git, gh, harness, config
romp init          # write romp.toml, create labels, update .gitignore
romp run -i 17     # run one issue in the foreground
romp watch         # then let it run

init detects the language and seeds the verify command:

Manifest Seeded verify
go.mod go build ./... + go test ./... -count=1
Cargo.toml cargo build + cargo test
package.json npm test
pyproject.toml pytest
Makefile make test

If nothing is detected, add a [verify] command to romp.toml yourself.

init also creates three labels — the trigger label (romp), the claim label (romp:claimed), and the blocked label (romp:blocked) — and appends .romp/local.toml to your .gitignore.

Watch it run

$ romp watch
watching label "romp" every 1m0s (width 3)
[sunny_naruto] running codex
[sunny_naruto] verify ok (go test ./... -count=1)
[sunny_naruto] PR: https://github.com/you/your-project/pull/482
#17: done

watch polls every 60 seconds and works up to width issues at once. Ctrl-C drains — it stops claiming and waits for running jobs to finish. Ctrl-C twice kills everything.

Next steps