Claude Code agora tem suporte nativo a Worktree (e é muito bom)

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

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.

Key Takeaway

O suporte nativo a Worktrees no Claude Code revoluciona o fluxo de trabalho de desenvolvedores ao permitir que agentes de IA gerenciem múltiplos branches e recursos de forma isolada e simultânea.

Highlights

O Claude Code introduziu suporte nativo a Git Worktrees, permitindo isolamento total entre diferentes tarefas de codificação.

A nova flag -w facilita a criação de ambientes separados para correção de bugs ou desenvolvimento de novas funcionalidades.

É possível utilizar subagentes que trabalham simultaneamente em múltiplas worktrees dentro da mesma sessão.

O recurso resolve o problema de dependência entre commits, evitando que bugs em uma funcionalidade travem o lançamento de outras.

Novos ganchos (hooks) permitem a expansão do uso para sistemas fora do Git, como SVN e Jujutsu, além da automação de scripts.

Apesar do potencial, usuários relataram bugs iniciais que podem exigir correções manuais no binário do Claude Code.

Timeline

Introdução e Novas Atualizações do Claude

O vídeo começa listando uma série de atualizações recentes no ecossistema Claude, incluindo suporte SSH e integração com GitHub. O narrador destaca o novo 'modo simples' do terminal, que foca em tarefas básicas ao remover ferramentas personalizadas. No entanto, o ponto central da discussão é a chegada do suporte nativo a worktrees, que promete mudar a forma como os agentes lidam com múltiplos recursos. Este recurso é apresentado como uma solução para a organização de tarefas complexas sem a necessidade de configurações manuais exaustivas. O autor levanta um questionamento sobre a estabilidade do lançamento, dado que alguns desenvolvedores já enfrentam dificuldades técnicas.

Conceitos de Worktrees e Cenários de Uso

O apresentador explica que usar Git Worktrees com agentes não é um conceito novo, mas a integração nativa reduz drasticamente a carga mental do desenvolvedor. Ele demonstra um aplicativo de tarefas em React para ilustrar a necessidade de implementar três recursos distintos: modo escuro, armazenamento local e edição de tarefas. Sem as worktrees, o desenvolvedor teria que misturar todas as mudanças em um único branch ou PR, o que causaria atrasos se um recurso apresentasse erros. Com o isolamento, é possível testar e enviar cada funcionalidade de forma independente, garantindo que um bug no armazenamento local não impeça a entrega do modo escuro. Este exemplo prático reforça o valor da ferramenta para a produtividade e organização do código.

Demonstração Prática e Gerenciamento de Sessões

Nesta seção, o tutorial foca nos comandos específicos para operar as worktrees, como o uso da flag -w seguida por um nome personalizado. O Claude cria automaticamente um novo diretório dentro da pasta .claude/worktrees, mantendo o código e o histórico do branch associado. O narrador mostra como verificar os arquivos gerados e reforça que o projeto deve ter o Git inicializado com pelo menos um commit prévio. A demonstração revela o sucesso dos recursos de modo escuro e edição, enquanto o armazenamento local falha, provando a eficácia do isolamento para correção de erros. O usuário também aprende como retornar a sessões específicas usando atalhos de teclado como Control + W.

Navegação Avançada e Uso de Subagentes

O vídeo detalha métodos para navegar entre os diretórios de trabalho, sugerindo o uso da flag --tmux para acesso direto via terminal. Uma das funcionalidades mais impressionantes mencionadas é o suporte a subagentes, que podem operar em diferentes branches simultaneamente. O autor ensina como configurar subagentes personalizados através da instrução 'isolation: worktree' no front matter dos arquivos de configuração. Isso permite que a IA tome decisões de isolamento de forma autônoma, otimizando o fluxo de trabalho multitarefa. Essa capacidade de delegar tarefas paralelas a diferentes agentes é apresentada como o ápice da eficiência no uso do Claude Code.

Extensibilidade, Problemas Atuais e Conclusão

Na parte final, o narrador discute a flexibilidade do sistema, que suporta hooks para outros sistemas de controle de versão como SVN e Jujutsu. Ele menciona a possibilidade de rodar scripts automáticos sempre que uma nova worktree é criada, o que é útil para preparar ambientes de teste. Contudo, há um alerta sobre instabilidades recentes causadas por flags de recursos quebradas em atualizações do Claude Code. Uma solução temporária é sugerida, onde o próprio Claude conserta seu binário, enquanto se aguarda um patch oficial da equipe de desenvolvimento. O vídeo termina recomendando uma ferramenta CLI chamada React Doctor para desenvolvedores interessados em detectar antipadrões de código.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video