Project Awesome project awesome

Maestro

Turn Gemini CLI into a multi-agent platform — 12 specialized subagents, parallel dispatch, 4-phase orchestration, and standalone dev tools for code review, debugging, security, and performance.

Package 388 stars GitHub

Maestro

Version License Gemini CLI Claude Code Codex Qwen Code

Maestro is a multi-agent development orchestration platform with 39 specialists, an Express path for simple work, a 4-phase standard workflow for medium and complex work, persistent session state, and standalone review/debug/security/perf/seo/accessibility/compliance entrypoints. It runs from one canonical src/ tree across Gemini CLI, Claude Code, Codex, and Qwen Code.

Runtime Targets

Runtime Location Public Surface Notes
Gemini CLI repo root /maestro:* Snake-case agents, TOML commands, hooks, TOML shell policies
Claude Code claude/ /orchestrate, /review-code, ... Kebab-case agents with maestro: subagent names
Codex plugins/maestro/ $maestro:* Plugin skills, spawn_agent, no runtime hooks
Qwen Code qwen/ /maestro:* Gemini-CLI-compatible extension, QWEN.md context file, SubagentStart/SubagentStop hooks

Getting Started

Prerequisites

  • One supported runtime: Gemini CLI, Claude Code, Codex, or Qwen Code
  • Node.js 20+ for the MCP server and helper scripts
  • Gemini CLI and Qwen Code only: enable experimental subagents in ~/.gemini/settings.json (Gemini) or ~/.qwen/settings.json (Qwen)
{
  "experimental": {
    "enableAgents": true
  }
}

Maestro does not edit ~/.gemini/settings.json or ~/.qwen/settings.json for you.

Installation

Gemini CLI

gemini extensions install https://github.com/josstei/maestro-orchestrate

Local development:

git clone https://github.com/josstei/maestro-orchestrate
cd maestro-orchestrate
gemini extensions link .

Verify with gemini extensions list.

Claude Code

Marketplace install:

claude plugin marketplace add josstei/maestro-orchestrate
claude plugin install maestro@maestro-orchestrator --scope user

Development / temporary loading:

git clone https://github.com/josstei/maestro-orchestrate
claude --plugin-dir /path/to/maestro-orchestrate/claude

More Claude-specific setup and plugin management lives in claude/README.md.

Codex

Register the marketplace:

codex plugin marketplace add josstei/maestro-orchestrate

Then start Codex, run /plugins to browse, select Maestro, and choose Install.

Local development (path must start with ./, ../, /, or ~/ — Codex otherwise treats bare owner/repo as a GitHub source):

git clone https://github.com/josstei/maestro-orchestrate
codex plugin marketplace add /absolute/path/to/maestro-orchestrate
# then: start Codex, run `/plugins`, select Maestro → Install

More Codex-specific setup and runtime details live in plugins/maestro/README.md and docs/runtime-codex.md.

Qwen Code

qwen extensions install https://github.com/josstei/maestro-orchestrate

Local development:

git clone https://github.com/josstei/maestro-orchestrate
cd maestro-orchestrate
qwen extensions link .

Verify with qwen extensions list. Qwen Code uses the same /maestro:* command surface as Gemini CLI and reads QWEN.md as its context file.

Quick Start

Start a full orchestration with the runtime-specific entrypoint:

Runtime Example
Gemini CLI /maestro:orchestrate Build a REST API for a task management system with user authentication
Claude Code /orchestrate Build a REST API for a task management system with user authentication
Codex $maestro:orchestrate Build a REST API for a task management system with user authentication
Qwen Code /maestro:orchestrate Build a REST API for a task management system with user authentication

Maestro classifies the task, chooses Express or Standard workflow, asks the required design questions, produces an implementation plan when needed, delegates execution to specialists, runs a quality gate, and archives the session state in docs/maestro/.

Examples

Usage examples: EXAMPLES.md. Gemini/Qwen forms shown:

  • Full orchestration: /maestro:orchestrate Build a REST API for a task management system with user authentication
  • Standalone review: /maestro:review Review the staged changes for correctness, regressions, security, maintainability risk, and missing tests
  • Security audit: /maestro:security-audit Audit authentication, authorization, data exposure, secret handling, and exploitability risks

Configuration

Defaults work; these settings tune behavior:

Setting Default Purpose
MAESTRO_STATE_DIR docs/maestro Session, plan, and archive output path
MAESTRO_EXECUTION_MODE ask Choose parallel, sequential, or prompt
MAESTRO_AUTO_ARCHIVE true Archive successful sessions automatically
MAESTRO_MAX_RETRIES 2 Retry limit for failed phases
MAESTRO_MAX_CONCURRENT 0 Parallel-agent cap, where 0 means no Maestro cap
MAESTRO_DISABLED_AGENTS unset Specialists to exclude from assignment

Commands

Capability Gemini CLI Claude Code Codex Qwen Code
Orchestrate /maestro:orchestrate /orchestrate $maestro:orchestrate /maestro:orchestrate
Execute /maestro:execute /execute $maestro:execute /maestro:execute
Resume /maestro:resume /resume-session $maestro:resume-session /maestro:resume
Status /maestro:status /status $maestro:status /maestro:status
Archive /maestro:archive /archive $maestro:archive /maestro:archive
Review /maestro:review /review-code $maestro:review-code /maestro:review
Debug /maestro:debug /debug-workflow $maestro:debug-workflow /maestro:debug
Security Audit /maestro:security-audit /security-audit $maestro:security-audit /maestro:security-audit
Performance Check /maestro:perf-check /perf-check $maestro:perf-check /maestro:perf-check
SEO Audit /maestro:seo-audit /seo-audit $maestro:seo-audit /maestro:seo-audit
Accessibility Audit /maestro:a11y-audit /a11y-audit $maestro:a11y-audit /maestro:a11y-audit
Compliance Check /maestro:compliance-check /compliance-check $maestro:compliance-check /maestro:compliance-check

For Claude Code and Codex, Maestro intentionally avoids bare skill names that collide with host commands. Use /review-code, /debug-workflow, and /resume-session in Claude Code, and $maestro:review-code, $maestro:debug-workflow, and $maestro:resume-session in Codex, so built-in /review, /debug, and /resume commands keep working.

Qwen Code uses the same /maestro:* command surface as Gemini CLI.

Workflow

  • Express: For simple work. Maestro asks 1-2 clarifying questions, proposes a brief, delegates to one specialist, runs code review, and archives without a design doc or implementation plan.
  • Standard: For medium and complex work. Maestro runs Design, Plan, Execute, and Complete phases with explicit approval gates, phased execution, and final review blocking on unresolved Critical or Major findings.

Outputs and Success Criteria

Maestro writes orchestration outputs under MAESTRO_STATE_DIR, usually docs/maestro/. Standard workflow outputs include active session state, design documents, implementation plans, phase reports, validation output, and archived records.

A successful run must have an approved plan when Standard workflow is used, completed phase reports, validation results for the changed surface, and no unresolved Critical or Major review findings. If a phase cannot complete, Maestro records the blocker and the next required action instead of silently continuing.

Security and Permissions

Maestro follows the host runtime's tool permissions, sandboxing, and confirmation model. It does not require committed secrets or long-lived credentials, and orchestration session state stays inside MAESTRO_STATE_DIR unless configured otherwise. Use MAESTRO_DISABLED_AGENTS to restrict specialists in sensitive repositories, and run $maestro:security-audit or the equivalent runtime command before adopting changes that touch authentication, authorization, secrets, or data exposure paths.

Documentation

Development and Release Validation

Canonical source lives under src/. Runtime files in agents/, commands/, hooks/, mcp/, policies/, claude/, plugins/maestro/, and qwen/ are generated; update src/ first, then regenerate.

npm ci
node scripts/generate.js
git diff --exit-code --name-only
node --test tests/unit/*.test.js tests/transforms/*.test.js tests/integration/*.test.js
npm run pack:verify
npm run release:artifacts
npm run release:verify-artifacts

Release validation creates dist/release/maestro-vX.Y.Z-extension.tar.gz. The archive is intentionally generic: it unpacks with gemini-extension.json, qwen-extension.json, .claude-plugin/marketplace.json, and .agents/plugins/marketplace.json at the root, plus the runtime payload needed by Gemini CLI, Qwen Code, Claude Code, and Codex.

Stable releases publish three aligned outputs:

  • Git tag vX.Y.Z
  • npm package @josstei/maestro@X.Y.Z
  • GitHub Release asset maestro-vX.Y.Z-extension.tar.gz

Codex plugin releases launch the MCP server through the matching npm package version. Hook installation is explicit via npm run install-hooks; package, pack, and publish flows do not install git hooks.

License

Apache-2.0

Back to Gemini CLI