Refatoração por módulo

Uma migração grande demais para um contexto, cortada em partes que cabem.

Um agente fazendo uma migração inteira enche o contexto no meio do caminho e começa a perder o que decidiu no primeiro módulo. Aqui o coordenador escreve as regras uma vez, dá cada módulo a um auxiliar no próprio worktree, faz o merge das branches e entrega o resultado a um revisor que não mexeu em nada daquilo.

Grátis e open sourceRoda no Mac e no LinuxSeus próprios logins do Claude e do Codex
O terminal do Claude Code do coordenador com relatórios dos auxiliares chegando sob o cabeçalho que o Overvibe escreve, e a atualização que junta todos
Gravado numa máquina de demonstração: os auxiliares respondem ao coordenador, que depois resume tudo.

No meio de uma migração, um agente esquece como começou

Os primeiros módulos recebem um trabalho cuidadoso. Nos últimos, o contexto está cheio de diffs, as decisões do começo foram compactadas e o mesmo padrão sai de três jeitos diferentes pelo repositório.

Um agente sozinho
  • Um contexto segurando todos os módulos
  • Decisões do começo perdidas no fim
  • Cada módulo feito de um jeito um pouco diferente
  • Um diff enorme para revisar no fim
Agentes lado a lado no Overvibe
  • Um auxiliar por módulo, com um briefing curto
  • As regras escritas uma vez, lidas por todos os auxiliares
  • Uma branch por módulo, com merge um de cada vez
  • Um revisor lendo o resultado do merge com olhos novos

Divida, faça o mergee revise no fim

Você digita

Migre o src do cliente de banco antigo para o novo, um auxiliar por módulo no próprio worktree, e depois peça ao Codex para revisar o resultado do merge.

  1. 1O coordenador faz o mapa

    Ele lista os módulos e escreve em MIGRATION.md as regras que todo auxiliar segue.

  2. 2Um auxiliar por módulo

    Cada um no próprio worktree sob o coordenador, com o MIGRATION.md e a pasta dele como briefing.

  3. 3As branches voltam

    Quando um auxiliar para, a branch dele e o comando de merge chegam no coordenador.

  4. 4Merge e testes

    Uma branch de cada vez, com a sua suíte de testes entre um merge e outro.

  5. 5Uma revisão com olhos novos

    O Codex lê o diff final contra o MIGRATION.md e aponta tudo o que se desviou.

Por trás disso, um auxiliar e o revisor. O coordenador roda o primeiro comando uma vez por módulo. Por padrão, uma sessão pode rodar 8 filhos ao mesmo tempo, e Settings > Spawn limits muda isso. Leia a referência da CLI

$ overvibe new --attach --worktree --cwd . --name "db: billing" \
    --prompt "Migrate src/billing to the new db client, following MIGRATION.md, and commit. When done, run: overvibe send \"$OVERVIBE_SESSION\" \"<summary>\""
$ overvibe new --attach --tool codex --cwd . --name "db: review" \
    --prompt "Review git diff main against MIGRATION.md. Report drift and bugs. Do not edit. When done, run: overvibe send \"$OVERVIBE_SESSION\" \"<review>\""

Fique com um agente só se

a mudança cabe numa sentada: renomear algo num punhado de arquivos, o interior de um módulo, uma atualização de dependência. Dividir tem o seu próprio custo. Cada auxiliar precisa de um briefing, e branches que mexem em código compartilhado podem dar conflito no merge.

Perguntas

E o código que todos os módulos compartilham?

Mude primeiro, no coordenador ou num auxiliar, e faça o merge antes de os outros começarem. Senão cada branch muda um pouco e os merges brigam.

Os auxiliares podem ser ferramentas diferentes?

Sim. Misture auxiliares Claude Code e Codex com --tool, e todos leem o mesmo MIGRATION.md.

E se um auxiliar travar?

Quando ele está esperando por você, a linha dele fica âmbar. O coordenador pode ver a tela dele com overvibe peek e dar o próximo passo com overvibe send.

Outros jeitos de juntar agentes

Corte sua próxima migração em partes

Instale o Overvibe, escreva as regras uma vez e deixe um coordenador distribuir os módulos.

O app Overvibe: um coordenador com os ajudantes Codex e Gemini (agy) na barra lateral, cada um com seu status, e uma sessão esperando por você