CLI agent for GitHub issues
From GitHub issue to pull request.
Label an issue ready-for-agent. Roark implements the change in a separate checkout, reviews it, runs your verification command, and opens a PR. It never merges or closes the issue.
Workflow
- 01
Fetch
Load the issue, comments, and dependency information.
- 02
Triage
Stop before coding if the issue is blocked or unsuitable.
- 03
Plan
Work out the changes needed in the repository.
- 04
Implement
Edit the code in a separate managed checkout.
- 05
Review
Run separate correctness and maintainability reviews.
- 06
Repair
Fix problems found during review.
- 07
Readiness
Check that the change is ready to publish.
- 08
Verify
Run the repository's configured verification command.
- 09
Publish
Push the branch and open the pull request.
- 10
Review PR
Post correctness and maintainability comments on the PR.
Install
$ git clone https://github.com/marcellocurto/roark-coding-agent.git$ cd roark-coding-agent$ bun install$ bun install -g "$PWD"$ roark --help
Requires Bun, Git, and GitHub CLI. Sign in with gh auth login first.
Terminal commands
- initialize
roark initAdd Roark's configuration and ignore rules to a repository.
- local run
roark do 123 --repo owner/repoWork on one issue without publishing a pull request.
- autorun
roark auto --repo owner/repo --limit 1Pick an eligible issue and run the publishing workflow.
- recover
roark continue 123 --repo owner/repo --attempt 1Resume a stopped run.
- review pr
roark review-pr 456 --repo owner/repoReview a pull request without changing it.
- revise pr
roark revise-pr 456 --repo owner/repoApply requested changes, verify them, and push the update.
- status
roark status --all --repo owner/repoShow previous runs and recovery details.
Run files
Each run writes its files under .roark/runs/.
issue.mdwrittentriage.jsonwrittenimplementation-plan.jsonwrittenimplementation-log.jsonwrittenrefinement-log-0.jsonwrittenreview-a-0.jsonwrittenreview-b-0.jsonwrittenfix-log-1.jsonwrittenreadiness.jsonwrittenverification.mdwrittenpr-draft.jsonwrittensummary.jsonwritten
Recovery
$ roark continue 123 --cwd /repo --repo owner/repo --attempt 1A stopped run keeps its branch, checkout, run files, and recovery command.
Pull requests
$ roark review-pr 456 --repo owner/repo$ roark revise-pr 456 --repo owner/repo
review-pr reviews without editing. revise-pr applies requested changes, verifies them, and pushes the update.