AI Coding Agents at Scale - Orchestrate coding agents (Claude Code, Gemini CLI, Codex) across cloud VMs with a web dashboard, VS Code extension, and Linear integration.
- Spin up GCP VMs with your chosen coding agent (Claude Code, Gemini CLI, or Codex)
- Run multiple coding tasks in parallel
- Automatic resource cleanup after completion
- Create and monitor AI coding tasks
- Live terminal streaming via SSH
- Task history and status tracking
- Create tasks directly from your IDE
- Monitor task progress
- Quick access to terminal sessions
- Write task descriptions in Linear and request implementation plans
- Review plans via Linear labels before proceeding
- Label changes trigger automated implementation and PR creation
- Notifications alert you to blockers or completion
- Resources automatically release after PR merge
- GitHub: GitHub App authentication for secure repository access
- GitLab: Personal access tokens or OAuth
- Automatic provider detection from repository URLs
- Automated PR/MR creation upon task completion
Preview the UI locally with SQLite and no authentication:
# Clone and install
git clone https://github.com/Reindeer-AI/reindeer-coder.git
cd reindeer-coder/app
npm install
# Start with auth disabled
npm run dev:noauthOpen http://localhost:5173 to explore the UI. Note: Creating tasks requires GCP setup (see below).
To create and run coding tasks, you need GCP credentials for VM provisioning:
# Copy and configure .env
cp .env.example .env
# Required for task creation:
# - GCP_PROJECT_ID, GCP_ZONE - for VM provisioning
# - GCP_VM_SERVICE_ACCOUNT - VM service account with Vertex AI access
# - ANTHROPIC_API_KEY (or other AI provider keys)
# - GitHub/GitLab credentials for repo access
# Authenticate with GCP
gcloud auth application-default login
# Start development server
npm run dev:noauth # or npm run dev with Auth0 configuredThe VS Code extension connects to your Reindeer Coder server:
-
Build and install the extension:
cd vscode-extension npm install npm run build # Install the generated .vsix file in VS Code
-
Configure the extension settings:
- Set the server URL (e.g.,
http://localhost:5173for local development) - The extension will auto-detect authentication settings
- Set the server URL (e.g.,
reindeer-coder/
├── app/ # SvelteKit web application
│ ├── src/lib/server/ # VM orchestration, Linear integration
│ └── src/routes/ # API endpoints and UI pages
├── vscode-extension/ # VS Code extension for IDE integration
└── ci/ # CI/CD configuration
- Task Creation: Define a coding task with repository URL, branch, prompt, and coding agent
- VM Provisioning: GCP Compute Engine VM spins up with the selected agent pre-installed
- Execution: The coding agent runs autonomously with your specified prompt
- Monitoring: Watch progress via real-time terminal streaming
- Intervention: SSH into the VM anytime to guide or correct the agent
- Completion: Automated PR/MR creation and resource cleanup
For production deployments with Auth0 authentication, PostgreSQL, and full features:
# See agent_deploy.md for detailed instructions
./scripts/deploy.sh --interactiveThe deployment script handles:
- GCP project setup
- Cloud SQL PostgreSQL database
- Secret Manager for API keys
- Cloud Build for container images
- Cloud Run deployment
- IAM and service accounts
Prerequisites:
gcloudCLI authenticatedpsqlPostgreSQL clientjqJSON processor
See agent_deploy.md for the comprehensive deployment guide.
- Run with PM2 or Docker
- SQLite or PostgreSQL database support
- See
app/deployment/ecosystem.config.cjs
| Variable | Description | Default |
|---|---|---|
DB_TYPE |
Database type (sqlite or postgres) |
sqlite |
DISABLE_AUTH |
Disable Auth0 authentication | false |
GCP_PROJECT_ID |
GCP project for VM provisioning | - |
GCP_ZONE |
GCP zone for VMs | us-central1-a |
GITHUB_APP_ID |
GitHub App ID for repository access | - |
GITHUB_INSTALLATION_ID |
GitHub App Installation ID | - |
ANTHROPIC_API_KEY |
API key for Claude (can use Secret Manager) | - |
- SQLite - For local development and simple deployments
- PostgreSQL - For production and Cloud Run deployments
Set DB_TYPE=sqlite or DB_TYPE=postgres in your environment.
MIT