Rascal is a self-hosted coding-agent runner for GitHub repositories.
It gives you one CLI to provision/deploy the orchestrator, trigger agent runs, and ship PRs.
- Own your runtime: runs execute on your server.
- Keep workflow simple: trigger from CLI or GitHub labels/comments.
- Stay in GitHub-native flow: branch, commit, PR, review.
rascal (CLI) -> rascald (orchestrator API) -> runner container -> branch +
PR on GitHub.
- Install the CLI so
rascalis available on yourPATH:
go install ./cmd/rascal- Copy the local env template and fill in the required tokens:
cp .rascal.env.example .rascal.envThen edit .rascal.env:
# Hetzner Cloud API token used locally to provision the server
HCLOUD_TOKEN=...
# GitHub PAT used locally to create/update repo webhooks and labels
GITHUB_ADMIN_TOKEN=...
# GitHub PAT stored on the server; controls what Rascal runs can do in the repo
RASCAL_GITHUB_TOKEN=...- Initialize Rascal:
rascal init --provision \
--repo OWNER/REPO \
--domain rascal.example.com- Verify:
rascal doctor --host <server_ip>- Run first task:
rascal run -t "Add a short CONTRIBUTING.md section for local dev setup"rascal run -t "..."
rascal run --issue OWNER/REPO#123
rascal ps
rascal task <task_id>
rascal logs <run_id> --follow
rascal open <run_id>
rascal retry <run_id>
rascal cancel <run_id>
rascal doctor --host <server_ip>
rascal config view- Contributing and local verification: CONTRIBUTING.md
- Docs index: docs/README.md
- Setup and token details: docs/setup.md
- Config and precedence: docs/config.md
- Command guide: docs/commands.md