Caso 09 Rust · Git worktrees · Automação
Wisetree: ferramentas em Rust para organizar o trabalho de desenvolvimento
Criei o Wisetree para organizar trabalho em várias branches sem perder o estado de cada uma. A ferramenta combina uma interface de terminal em Rust e Ratatui com comandos para criar worktrees, acompanhar alterações e automatizar a preparação do ambiente.
Contexto
Git worktrees permitem manter várias branches abertas em diretórios diferentes. Isso é útil tanto para pessoas quanto para fluxos com agentes de programação em tarefas paralelas.
Problema
Criar o diretório é só uma parte do trabalho. Cada checkout pode precisar de configuração local, dependências e comandos de preparação; depois é preciso acompanhar seu estado e seus pull requests.
Minha responsabilidade
Criei e desenvolvo o Wisetree. O repositório público contém a implementação em Rust, a documentação e os testes da ferramenta.
Decisão
Combinar uma interface interativa de terminal com comandos que podem ser usados em scripts atende tanto à operação manual quanto à automação.
O dashboard reúne estado do Git e informações de pull requests. A criação de worktrees pode usar configuração por projeto para preparar um ambiente utilizável.
Alternativas e trade-offs
Análise atual, escrita para este site. Não é um registro das alternativas avaliadas na época.
- Automatizar operações do Git exige tornar os efeitos visíveis, principalmente ao excluir diretórios ou branches. Mudanças locais precisam ser consideradas antes de executar ações destrutivas.
- Cache compartilhado de dependências reduz preparação repetida, mas precisa respeitar a configuração e o isolamento de cada projeto.
Implementação
Recursos documentados no repositório público:
Interface de terminal
Rust e Ratatui para navegar pelos worktrees e acompanhar o estado do trabalho.
Preparação de ambientes
Configuração de arquivos locais, dependências compartilhadas e comandos de setup por projeto.
Dashboard e GitHub
Visualização de alterações, diferenças em relação à branch e estado de pull requests.
CLI e integração com Shell
Comandos e saída JSON para integrar a ferramenta a outros fluxos de desenvolvimento.
Resultado
O Wisetree está disponível publicamente com código e documentação. Demonstra minha experiência em Rust e na criação de ferramentas para organizar o trabalho de engenharia.