Run the AI migration review bot.
Start the control plane, worker, migration inbox, GPT-4o intelligence, and optional sandbox executor locally—or connect the hosted product to a GitHub App installation.
PrerequisitesPython 3.12+, Node.js 22.13+, Docker, Git, and Make.
Local quickstart
Install dependencies and start PostgreSQL:
make setup
make db-up
make db-schemaThen run the API, worker, and frontend in separate terminals:
make api
make worker
make frontend-dev LIVE_API_URL=http://localhost:8000Architecture
Provider source→Impact analysis→GPT-4o→Sandbox→Draft PR
Local URLs
| Dashboard | http://localhost:3000 |
|---|---|
| Backend API | http://localhost:8000 |
| Interactive API docs | http://localhost:8000/docs |
| Health endpoint | http://localhost:8000/health |
Core API
GET
/auth/meCurrent GitHub identity and repositoriesGET/migrationsWorkspace-scoped migration review inboxPOST/migrations/{id}/generateQueue a bounded AI migration attemptGET/providersConfigured provider sources and sync healthGET/migrations/{id}Migration evidence, patch, checks, and historyPOST/migrations/{id}/publishPublish an approved migration as a draft pull requestAI assistance
Set OPENAI_API_KEY on the Railway worker and WORKSPACE_INTELLIGENCE_ENABLED=true on the Railway web service. Vercel only needs the backend API URL; the key must never be exposed through a browser or NEXT_PUBLIC_ variable.
OPENAI_API_KEY=your-server-side-key
OPENAI_MODEL=gpt-4o
WORKSPACE_INTELLIGENCE_ENABLED=true
LLM_DAILY_BUDGET_USD=1.00
LLM_TOTAL_BUDGET_USD=9.00Model requests use strict structured output, no model tools, bounded context and output, store: false, retry limits, and request-level cost limits. Repository and provider text is treated as untrusted data.