Orca — Agent Development Environment

Orca é um Agent Development Environment (ADE) de código aberto (MIT, YC, ~51k⭐) que executa agentes de código — Claude Code, Codex, Cursor CLI, OpenCode, Gemini, Copilot — em git worktrees isolados, cada um com terminal e aba próprios. A unidade de trabalho é o worktree, não o projeto.

Conceitos Centrais

  • Run — namespace durável de um projeto de trabalho; também a inbox do coordenador, onde toda mensagem chega.
  • Task — item de trabalho com spec, dependências e status; sobrevive a tentativas individuais.
  • Worker — um agente, em um worktree, trabalhando uma task; deve reportar ao terminar.
  • Dispatch — cada lançamento de worker gera um dispatch; mensagens de conclusão carregam task ID e dispatch ID, evitando que worker obsoleto marque trabalho novo como concluído.

Camadas de Isolamento

  1. Worktrees — diretório, branch e estado de arquivos próprios por agente; elimina conflitos de edição em arquivos compartilhados.
  2. Orquestração — coordenador acima dos worktrees: tasks, workers e inbox, para que um agente opere a frota.

Mobile Companion

Aplicativo iOS/Android (beta) pareia com o desktop via Orca Relay (não depende de mesma rede). Superfície read-mostly: status dos worktrees, scrollback, resposta por voz/texto, revisão/commit de mudanças, Quick Commands e push quando um agente termina. O desktop permanece a fonte da verdade — o celular é “volante, não motor”.

Limites de Uso

Orquestração é indicada quando há necessidade de ownership, completion tracking ou grafo de dependências. Para one-offs em terminal existente, orca terminal send é suficiente; para handoff único sem supervisão, o fluxo de worktree direto basta.

Implicações

  • Redefine o que é “IDE”: ambiente construído para humanos e seus agentes, não só para humanos.
  • Isolamento por worktree é pré-requisito, não consequência, da orquestração paralela.
  • O coordenador substitui o humano como “message bus”, reduzindo a cópia manual de contexto entre panes.

Open Questions

  • Como o coordenador decide a granularidade das tasks quando o objetivo é ambíguo?
  • Qual o custo de manter múltiplos worktrees em projetos grandes?

Relacionamentos

Sources