Quickstart
First-run path from installation to a successful Roark issue workflow.
Last updated
#Prerequisites
Install and authenticate the tools Roark uses:
bun --version
gh auth status
git status --shortYou need:
- a GitHub checkout for the target repository
- a clean control checkout
ghauthenticated as a user or bot with issue, pull request, and branch push permissions- a verification command that can run non-interactively
- any required ignored local files available in the control checkout
Roark uses GitHub CLI for repository operations and runs shell commands in local workspaces. Review Security and secrets before running on public or shared repositories.
#Install Roark
From the Roark source checkout:
bun install
bun install -g "$PWD"
roark --helpFor persistent servers, pin the checkout to a tag or commit before installing globally.
#Initialize a Target Repository
Run roark init from the target repository checkout:
cd /path/to/target-repo
roark initThis writes:
.roark/config.json
.roark/WORKFLOW.md
.roark/.gitignoreOpen .roark/config.json and confirm:
repois the expectedowner/repobaseBranchmatches the repository default branchverifyis a command you trust- lifecycle hooks are non-interactive
- ignored local file paths are configured through
workspace.copyToWorktreeonly when needed
See Configuration for the full config reference.
#Confirm Labels
Roark's autorun mode is label-gated. The default ready label is afk.
For a first dry run, make sure the target issue has the ready label and none of the skip labels:
gh issue edit 123 --repo owner/repo --add-label afkRoark creates required lifecycle labels during normal autorun when they are missing. A dry run reports missing required labels without creating them.
See Labels and Label semantics.
#Preview Autorun Selection
Before letting Roark claim work, preview selection:
roark auto --repo owner/repo --limit 1 --dry-runExpected result:
- Roark lists an eligible issue.
- No issue is assigned.
- No branch is created.
- No workspace is changed.
If nothing is selected, use Troubleshooting.
#Run One Issue Manually
For a controlled first run, use do with one issue:
roark do 123 --repo owner/repoRoark will:
- fetch the issue
- triage it
- plan the implementation
- run the implementation agent
- run independent review agents
- apply fix passes when needed
- write readiness output
do is useful for local validation. Use auto when you want claiming, labels, publishing, and scheduler-friendly behavior.
#Run One Autorun Attempt
When the dry run and manual run are understood, run a single autorun attempt:
roark auto --repo owner/repo --limit 1On success, Roark opens a pull request only after readiness and verification pass.
On failure, Roark leaves the managed workspace and artifacts for inspection. It does not merge, close issues, or mark PRs ready for review.
#Inspect Results
Issue run artifacts are written under:
.roark/runs/issue/<issue-number>/attempts/<attempt-number>/Open these files first:
summary.jsonfor the artifact index and final statusverification.mdfor the verification command resultreadiness.mdfor the publish gate decisionimplementation-log.mdfor implementation detailsreview-a.mdandreview-b.mdfor reviewer findings
See Artifacts for the complete layout.
#Recover a Failed Attempt
If an autorun attempt stops before publishing:
roark continue 123 --repo owner/repo --attempt 1If --attempt is omitted, Roark uses the latest recorded attempt.
Continue reuses valid existing artifacts, regenerates missing or invalid phase outputs, reruns readiness and verification, and publishes only when both gates pass. See Recovery.
#Next Steps
- Read Concepts for the mental model.
- Read Usage for day-to-day commands.
- Read Managed workspaces before enabling scheduled runs.
- Read Operations runbook before cron, launchd, or GitHub Actions.