Worktrees em paralelo

Três funcionalidades ao mesmo tempo, cada uma na própria branch.

Ponha dois agentes num mesmo checkout e, mais cedo ou mais tarde, eles editam o mesmo arquivo. O overvibe new --worktree dá a cada auxiliar o próprio git worktree, numa branch nova ov/<name> criada a partir do seu HEAD. Quando um auxiliar para, a sessão que o iniciou recebe a branch, o número de commits, os arquivos ainda sem commit e o comando para fazer o merge.

Grátis e open sourceRoda no Mac e no LinuxSeus próprios logins do Claude e do Codex
Um coordenador inicia seus auxiliares com overvibe new --attach, e eles trabalham aninhados sob ele na barra lateral
Gravado numa máquina de demonstração: o auxiliar Claude trabalha na própria branch ov/ enquanto o Codex e o agy rodam ao lado.

Dois agentes num checkout só escrevem um diff que ninguém planejou

Uma sessão reescreve um arquivo que a outra deixou pela metade, ou roda os testes numa mistura das duas mudanças. Aí você passa a tarde descobrindo qual trecho veio de qual agente.

Auxiliares dividindo um checkout
  • Os dois agentes editam os mesmos arquivos
  • Os testes rodam contra metade de cada mudança
  • Uma branch só, com os commits de todo mundo misturados
Um worktree por auxiliar
  • Cada auxiliar ganha a própria pasta ao lado do repositório
  • Cada um faz commit na própria branch ov/
  • O comando de merge volta quando ele para

De um pedido só a branches com merge feito

Você digita

Construa a exportação em CSV e o limite de tentativas de login em paralelo, cada um no próprio worktree, e faça o merge quando terminarem.

  1. 1Passe a lista ao coordenador

    Funcionalidades que não dependem umas das outras. Duas ou três já é um bom começo.

  2. 2Um auxiliar por funcionalidade

    Iniciados com --worktree e --attach, então cada um fica sob o coordenador na própria branch.

  3. 3Eles fazem commit nas próprias branches

    O seu checkout fica onde você deixou, e você pode continuar trabalhando nele.

  4. 4Cada parada traz uma branch de volta

    Branch, commits, arquivos sem commit e o comando de merge chegam no coordenador.

  5. 5Merge, um de cada vez

    Com os testes entre um merge e outro. O worktree e a branch ficam até você ou o coordenador removerem.

Por trás disso, uma flag por auxiliar. O coordenador adiciona --worktree sempre que dois auxiliares editariam o mesmo repositório. Auxiliares Codex também aceitam a flag. Leia a referência da CLI

$ overvibe new --attach --worktree --cwd . --name "shop: csv export" \
    --prompt "Add CSV export to the orders page and commit. When done, run: overvibe send \"$OVERVIBE_SESSION\" \"<summary>\""
$ overvibe new --attach --worktree --tool codex --cwd . --name "shop: rate limit" \
    --prompt "Add a rate limit to POST /login and commit. When done, run: overvibe send \"$OVERVIBE_SESSION\" \"<summary>\""

Dispense os worktrees quando

houver uma funcionalidade só, ou a segunda tarefa só lê. Um revisor que não mexe nos seus arquivos pode dividir o seu checkout, e um agente numa branch é mais fácil de acompanhar que três.

Perguntas

Onde ficam os worktrees?

Ao lado do repositório, em <repo>.worktrees/<name>, cada um numa branch nova ov/<name> a partir do HEAD da pasta.

Quem limpa depois?

Você, ou o coordenador quando você mandar. O Overvibe nunca apaga um worktree nem uma branch por conta própria.

Quantos auxiliares podem rodar ao mesmo tempo?

Por padrão, uma sessão pode ter 8 filhos rodando, com até 3 níveis de profundidade. Settings > Spawn limits muda os dois. Sessões que você mesmo inicia não têm limite.

Outros jeitos de juntar agentes

Divida sua próxima lista de funcionalidades em branches

Instale o Overvibe, inicie um coordenador no seu repositório e peça um worktree por funcionalidade.

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ê