Skip to main content

Configuration

Maestro is configured through the dashboard UI and environment variables.

Environment variables

Set these in your .env file in the backend directory:

# Database
DATABASE_URL=postgresql://maestro:maestro@localhost:5432/maestro

# API Keys
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-... # optional, for GPT-based agents
GITHUB_TOKEN=ghp_... # for PR creation and reviews
LINEAR_API_KEY=lin_api_... # optional, for Linear integration

# Server
HOST=0.0.0.0
PORT=8000
LOG_LEVEL=info

Workspaces

A workspace represents a local or remote codebase that agents operate on.

Fields:

  • Name — display name (e.g., "acme-api")
  • Path — local filesystem path to the repo
  • Remote URL — GitHub repository URL
  • Default branch — branch to base work off (default: main)

Create workspaces via the dashboard under Settings > Workspaces.

Projects

A project groups tasks and configuration together.

Fields:

  • Name — project name
  • Workspace — which workspace to use
  • Description — project context for agents

Connections

Connections configure external service integrations.

GitHub

  • Token — personal access token or GitHub App token
  • Owner — repository owner (org or user)
  • Repo — repository name

Linear

  • API key — Linear API key
  • Team ID — Linear team identifier
  • Project ID — optional Linear project to sync with

Agent prompts

Each agent's system prompt can be customized per-project. Navigate to Project > Settings > Agent Prompts in the dashboard.

Implementation agent prompt

The default prompt instructs the agent to:

  • Follow existing code conventions
  • Write tests for new functionality
  • Keep changes focused and minimal

You can add project-specific instructions, such as:

  • Preferred frameworks or libraries
  • Code style requirements
  • File organization patterns

Review agent prompt

The default prompt instructs the agent to:

  • Check for bugs and logic errors
  • Verify input validation and error handling
  • Flag performance concerns
  • Suggest improvements

Risk profile agent prompt

The default prompt instructs the agent to:

  • Evaluate complexity based on diff size and logical changes
  • Assess blast radius by checking dependencies
  • Verify test coverage exists

API keys

API keys for LLM providers are set as environment variables. Each agent can be configured to use a different model:

# Example agent model configuration
agents:
implementation:
model: claude-sonnet-4-20250514
review:
model: claude-sonnet-4-20250514
risk_profile:
model: claude-haiku-4-20250514
deployment:
model: null # no LLM needed