Quick Start: Docker Compose¶
This guide gets RoboDev running locally in 5 minutes using Docker Compose — no Kubernetes cluster required. It is ideal for first-time users who want to understand how RoboDev works before deploying to a cluster.
What Docker Compose mode does
Docker Compose runs the RoboDev controller and a single AI agent engine as local containers. It polls your GitHub repository for labelled issues, runs an AI coding agent, and opens pull requests — the same workflow as the full Kubernetes deployment, but without the cluster overhead.
Prerequisites¶
| Requirement | Minimum Version | Notes |
|---|---|---|
| Docker | 24+ | With Docker Compose v2 (bundled with Docker Desktop) |
| GitHub repository | — | The repo the agent will work on |
| GitHub personal access token | — | With repo and issues scopes |
| Anthropic API key | — | Required for Claude Code engine |
1. Clone the Repository¶
2. Create a .env File¶
Create a .env file in the repository root with your credentials:
cat > .env << 'EOF'
GITHUB_TOKEN=ghp_your_github_token_here
ANTHROPIC_API_KEY=sk-ant-your_anthropic_key_here
EOF
Keep your .env file safe
The .env file contains sensitive credentials. It is already listed in .gitignore — never commit it to version control.
3. Configure RoboDev¶
Edit the docker-compose.yaml environment section to point at your repository:
environment:
ROBODEV_TICKETING_BACKEND: github
ROBODEV_TICKETING_OWNER: "your-org" # ← your GitHub org or username
ROBODEV_TICKETING_REPO: "your-repo" # ← your repository name
ROBODEV_TICKETING_LABELS: "robodev"
ROBODEV_ENGINE_DEFAULT: "claude-code"
4. Start RoboDev¶
Verify the controller is running:
You should see structured JSON log lines confirming that the ticketing poller has started.
5. Create a Test Issue¶
-
Open an issue in your target GitHub repository with a small, well-defined task:
Title: Add input validation to the /api/users endpoint
Body: The POST handler for
/api/usersdoes not validate theemailfield. Add validation that rejects requests with a missing or malformed email address. Return a 400 status with a descriptive error message. Add unit tests for the new behaviour. -
Add the robodev label to the issue.
-
Watch the controller logs — within a few seconds you should see the task being picked up:
6. Watch It Work¶
The agent will clone your repository, carry out the work, run any tests it finds, and open a pull request. Progress updates appear as comments on the original issue.
Stopping RoboDev¶
Next Steps¶
- Deploy on Kubernetes — for production use with Helm
- Configuration Reference — full config options
- What is RoboDev? — understand the architecture
- Guard Rails Overview — learn about the safety layers