Getting Started
Get Maestro running locally in under 5 minutes.
Prerequisites
- Docker and Docker Compose (for PostgreSQL)
- Python 3.11+ and uv (for the backend)
- Node.js 20+ and npm (for the frontend)
- A Claude API key or Claude Code CLI installed
1. Clone the repository
git clone https://github.com/dunkinfrunkin/maestro.git
cd maestro
2. Start the database
docker compose up -d
This starts a PostgreSQL instance on port 5432. The default credentials are in docker-compose.yml.
3. Start the backend
cd backend
cp .env.example .env # edit with your API keys
uv sync
uv run alembic upgrade head
uv run uvicorn app.main:app --reload --port 8000
The API server starts at http://localhost:8000. You can verify with:
curl http://localhost:8000/health
4. Start the frontend
cd frontend
npm install
npm run dev
The dashboard opens at http://localhost:3000.
5. Create your first task
- Open the dashboard and navigate to a project
- Click New Task
- Enter a title and description — for example:
- Title:
Add health check endpoint - Description:
Create a GET /health route that returns {"status": "ok"}
- Title:
- Click Queue Task
The task enters the pipeline and flows through implementation, review, risk profiling, and deployment stages automatically.
What happens next
- The implementation agent reads your codebase, writes code, and opens a pull request
- The review agent reads the diff and leaves inline comments
- If changes are needed, the implementation agent applies fixes and the review agent re-reviews
- The risk profile agent scores the change for complexity, blast radius, and test coverage
- The deployment agent merges the PR once everything looks good
See Pipeline for a detailed breakdown of each stage.