Pitch: Maestro! O orquestrador multi-sessão pro Claude Code com TUI no terminal
Eu uso Claude Code no dia a dia e tinha um problema recorrente: rodar uma sessão por vez é lento demais quando você tem várias issues pra resolver. Alternava entre terminais, perdia noção do custo, e volta e meia dois agentes tentavam editar o mesmo arquivo.
Então construí o Maestro — uma CLI em Rust que orquestra múltiplas sessões do Claude Code em paralelo, cada uma isolada no seu próprio git worktree, com um dashboard no terminal mostrando tudo em tempo real.
O problema
Se você trabalha com Claude Code em projetos reais, provavelmente já passou por isso:
- Quer rodar 3 issues ao mesmo tempo mas precisa de 3 terminais
- Dois agentes editam o mesmo arquivo e um sobrescreve o outro
- Não tem visibilidade de quanto está gastando por sessão
- O contexto estoura no meio do trabalho e você perde progresso
O que o Maestro resolve
O Maestro pega suas issues do GitHub (ou Azure DevOps), monta uma fila de trabalho respeitando dependências entre issues, e distribui entre sessões concorrentes do Claude Code. Cada sessão roda num git worktree isolado, então não existe conflito de arquivo.
Funcionalidades principais:
- Multi-sessão com pool configurável — roda até N sessões simultâneas com promoção automática da fila
- Git worktree por sessão — isolamento total, sem conflito de arquivo entre agentes
- File claim system — registro que impede dois agentes de editar o mesmo arquivo
- Parsing em tempo real — lê o output stream-json do Claude CLI e mostra tool calls, mensagens e custos ao vivo
- Detecção de overflow de contexto — monitora o uso da janela de contexto e faz fork automático com prompt de handoff estruturado
- PR automático — ao completar uma sessão, abre PR com relatório de custo e lista de arquivos alterados
- Dependency scheduling — labels blocked-by:#N criam um grafo de execução ordenado
- Completion gates — após a sessão terminar, roda comandos configuráveis (fmt, clippy, test) antes de aceitar o resultado
- Milestone mode — --milestone roda todas as issues abertas de um milestone
- Continuous mode — --continuous avança automaticamente por todas as issues prontas
- Home screen interativa — dashboard com sugestões contextuais, info do repo e atividade recente
- Self-upgrade — verifica atualizações no startup e atualiza com uma tecla
Como funciona na prática
Você coloca label nas suas issues com maestro:ready, roda maestro run, e acompanha tudo num painel só. Quando termina, cada sessão abre seu PR automaticamente.
Stack
- Rust com ratatui + crossterm (TUI), tokio (async), clap (CLI)
- Funciona com GitHub (via gh) ou Azure DevOps (via az)
- macOS, Linux e WSL
Instalação
Via Homebrew:
brew tap CarlosDanielDev/tap
brew install carlosdanieldev/tap/maestro --formula
Ou do source:
git clone https://github.com/CarlosDanielDev/maestro.git
cd maestro && cargo build --release
Pré-requisitos: Rust 1.75+, Claude Code CLI (claude) no PATH, e gh ou az autenticado.
Status do projeto
O Maestro está na v0.9.0. As 5 fases do roadmap original estão completas — single-session, multi-session, integração GitHub, inteligência (overflow, budget, stall detection), e multi-provider.
O projeto é open-source, licença MIT.