00:00:00O Claude Code recebeu uma quantidade absurda
00:00:02de atualizações recentemente, desde suporte SSH no Claude Desktop,
00:00:05prévias de apps e integração com GitHub,
00:00:07até o modo simples no terminal,
00:00:09que remove habilidades, plugins e ferramentas personalizadas,
00:00:11facilitando as tarefas básicas.
00:00:13Mas a maior atualização, de longe, é o suporte nativo a work trees,
00:00:16o que significa que seus agentes podem trabalhar em múltiplos recursos
00:00:18ou correções de bugs de forma isolada,
00:00:20sem que você precise configurar nada manualmente.
00:00:23Mas será que isso foi lançado cedo demais,
00:00:25com tantos desenvolvedores já enfrentando problemas básicos?
00:00:28Inscreva-se no canal e vamos conferir.
00:00:30Usar work trees do Git com agentes de codificação não é novidade.
00:00:33Na verdade, o Claude Desktop já tem isso há um tempo,
00:00:35e existem muitos plugins ou ferramentas que suportam isso,
00:00:37como o Claude Squad, sobre o qual já fizemos um vídeo.
00:00:41Mas um dos motivos pelos quais eu pessoalmente não usava
00:00:43é que fazer isso manualmente gera uma carga mental,
00:00:46e espero que este novo recurso no Claude Code
00:00:49torne tudo muito mais fácil para mim.
00:00:50Vamos testar.
00:00:51Aqui temos um app básico de tarefas feito pelo Claude em React.
00:00:54Para fins de teste, eu não criaria este app
00:00:56por nenhum outro motivo a não ser testar.
00:00:58Mas enfim, eu gostaria de adicionar um botão de modo escuro
00:01:01porque isso está cegando meus olhos.
00:01:02Também gostaria de adicionar a capacidade de salvar
00:01:04no armazenamento local, porque se eu atualizar, nada é salvo.
00:01:07E eu gostaria de adicionar a opção de editar as tarefas.
00:01:10Normalmente, eu colocaria todos esses recursos em um único prompt:
00:01:12modo escuro, armazenamento local
00:01:14e a capacidade de editar tarefas.
00:01:16O problema é que, se um desses recursos tivesse um bug,
00:01:20eu teria que mexer em tudo,
00:01:22atrasando o lançamento dos outros recursos
00:01:25porque tudo estaria no mesmo PR ou no mesmo branch.
00:01:28Mas com as work trees,
00:01:28posso trabalhar nesses recursos em branches separados
00:01:31ao mesmo tempo na minha máquina local
00:01:33sem precisar de nenhuma configuração manual.
00:01:35E se houver um problema com um desses recursos,
00:01:37posso subir os outros dois
00:01:39e trabalhar naquele específico em seu próprio branch.
00:01:41Deixe-me mostrar como fazer isso.
00:01:42Se eu rodar o Claude Code com a flag -w,
00:01:45ele me dará uma work tree
00:01:47com um nome aleatório escolhido pelo Claude.
00:01:49Espera, Lacan?
00:01:50Ok.
00:01:52Mas se eu quiser dar um nome à minha work tree,
00:01:54eu colocaria o nome após a flag -w,
00:01:56como farei aqui embaixo.
00:01:58Isso cria uma nova work tree bem aqui
00:02:00e também cria um novo branch,
00:02:02mas não deleta a work tree anterior que criamos.
00:02:05Portanto, lembre-se disso
00:02:06se você acabar criando muitas work trees temporárias.
00:02:08No diretório .claude do projeto, em worktrees,
00:02:11podemos ver nossa work tree
00:02:13e todos os arquivos de código associados a ela.
00:02:15Note que as work trees só funcionam
00:02:16se o seu projeto tiver o git inicializado
00:02:18e você tiver feito pelo menos um commit.
00:02:20Agora posso implementar todos os recursos
00:02:22neste projeto em diferentes work trees.
00:02:24Agora que os três recursos foram finalizados,
00:02:26podemos ver aqui que o botão de modo escuro funciona.
00:02:29Neste outro, não há modo escuro,
00:02:31mas eu consigo editar a tarefa.
00:02:32Vou adicionar uma nova e alterá-la aqui.
00:02:35E no do armazenamento local, parece haver um problema,
00:02:38mas este é o benefício das work trees,
00:02:40pois vejo que os outros dois funcionam bem.
00:02:43Então eu poderia commitá-los ou criar um pull request
00:02:44e focar apenas neste aqui,
00:02:46usando uma sessão dedicada do Claude Code
00:02:48para corrigir este problema.
00:02:49E quando eu terminar com a work tree,
00:02:51posso mantê-la para voltar mais tarde
00:02:53ou removê-la do meu sistema.
00:02:54Se eu decidir mantê-la,
00:02:55poderia voltar exatamente para a mesma work tree
00:02:58se eu especificar o nome, como podem ver aqui.
00:03:00Eu poderia até retomar sessões da minha work tree atual
00:03:03ou pressionar Control + W para ver todas as sessões deste projeto.
00:03:06Embora eu não tenha certeza de
00:03:07como ele identifica a sessão atual,
00:03:08já que agora estou no branch principal.
00:03:11Falando em sessão atual,
00:03:12se você quiser trabalhar a partir do diretório da work tree,
00:03:15pode navegar diretamente até ele
00:03:16usando cd .claude/worktrees e assim por diante,
00:03:19ou pode rodar worktrees com a flag --tmux,
00:03:21que levará você direto para esse diretório.
00:03:23E se eu abrir uma nova divisão de tela,
00:03:26verá que estou naquela work tree
00:03:27e posso navegar pelos arquivos específicos dela.
00:03:30Mas a coisa mais legal sobre as work trees
00:03:31é que elas suportam subagentes,
00:03:33o que significa que posso ter diferentes subagentes
00:03:35trabalhando em múltiplos recursos em branches diferentes
00:03:38dentro da mesma sessão do Claude Code.
00:03:40E se quiser suporte a work trees em subagentes personalizados,
00:03:42para que um subagente abra automaticamente uma work tree,
00:03:45basta adicionar este “isolation: worktree”
00:03:48no front matter e o Claude cuidará do resto.
00:03:50No geral, estou muito impressionado com esse recurso
00:03:52e com certeza é algo que
00:03:54vou usar muito mais,
00:03:55especialmente com os novos hooks de work tree
00:03:57que permitem usar work trees sem o git,
00:04:00como SVN, Jujutsu, etc.,
00:04:02e também para rodar scripts automaticamente
00:04:04quando você cria uma nova work tree.
00:04:05Mas infelizmente, parece que muita gente
00:04:08tem tido problemas com as work trees
00:04:09desde as últimas atualizações do Claude Code,
00:04:11devido ao que parece ser uma flag de recurso quebrada.
00:04:13Felizmente, você pode fazer o Claude Code consertar o próprio binário
00:04:17como uma medida temporária,
00:04:18mas espero que a equipe lance uma correção definitiva em breve
00:04:21para que mais pessoas possam experimentar esse recurso incrível.
00:04:24Falando em recursos incríveis,
00:04:25se você é desenvolvedor React e quer uma ferramenta de CLI
00:04:28para detectar antipadrões do React automaticamente,
00:04:31confira este vídeo do Andris
00:04:33sobre o React Doctor.