Sobre o projeto
Wisetree é um gerenciador interativo, focado em terminal, para git worktrees, construído em Rust com Ratatui. Ele envolve o mecanismo bruto de `git worktree` em uma TUI mais um CLI scriptável, de modo que criar, inspecionar, navegar e excluir worktrees torna-se um toque de tecla em vez de um parágrafo de comandos. Ele é direcionado a desenvolvedores que executam múltiplos agentes de codificação de IA em paralelo (Claude Code, Codex CLI, Gemini CLI, Opencode, Cursor, Aider), cada um em seu próprio branch e checkout isolado do mesmo repositório.
Capacidades principais:
- Criação guiada: `wisetree create` cria um worktree isolado, pode copiar arquivos locais (`.env*`, `.vscode/**`, chaves, configurações do editor), vincular pastas pesadas de dependências a partir de um cache compartilhado, executar comandos de setup, abrir seu editor e colocar seu shell no novo diretório.
- Painel: uma tabela ao vivo, com atualização automática, de cada worktree mostrando caminho, branch, status (Limpo/Sujo/Aberto/Mesclado), contagens à frente/atrás, último commit, estado opcional de PR do GitHub via `gh` (número, estado, título, CI, revisão, prontidão para merge) e uma coluna de Status de IA agregando atividade para ferramentas de IA suportadas (Pendente/Executando/Concluído/Falhou). Os dados de PR são agrupados, armazenados em cache no disco, atualizados em mudança de SHA e recuam após limites de taxa.
- Interações do painel: navegação por setas, busca difusa incremental por caminho, branch, SHA, mensagem de commit, status, à frente/atrás, título e URL do PR; ações de linha para navegar, abrir com um comando de terminal configurado, copiar caminho ou abrir/atualizar/mesclar/fechar PRs; botões de exclusão em massa para grupos Mesclado, Fechado, Aberto, Limpo e Sujo com confirmação de múltiplos alvos e progresso; modo compacto para terminais estreitos.
- Cache compartilhado: inspecionar, podar ou limpar o cache de dependências por repositório usado pelos padrões de vínculo de worktree.
- Configuração: `.wisetree/config.json` local ao repositório, `~/.wisetree/config.json` global, tela de configurações e opções como `terminalCommand`, `deleteBranchWithWorktree` e `dashboard.showPullRequests`.
- Integração com shell: um instalador único adiciona um wrapper aos perfis zsh/bash para que `wisetree` puro possa `cd` o shell atual para o worktree selecionado, além de conclusão por tab.
- Arquivos de comando de pull request: documentos auxiliares sob `.wisetree/<command>/` para fluxos de trabalho Explain, Develop, Bugkill, Split, Improve e Review.
- Comando Split: transforma um grande branch commitado em uma pilha ordenada de PRs revisáveis, usando IA apenas para planejamento de limites SRP e redação focada de título/descrição; inventário, contagem de linhas, classificação de testes, renderização de plano, criação de branch/worktree, commits, publicação no GitHub e aplicação de metadados são determinísticos. Requer `gh` autenticado e comandos de pré-visualização `gh stack`. Suporta execuções retomáveis, com verificação de identidade e rascunhos em cache.
Os canais de instalação incluem Homebrew, npm, um instalador de shell, um instalador do PowerShell e compilação a partir do código-fonte com Rust 1.78+. O CI executa fmt, clippy, build e teste com avisos negados no Ubuntu e macOS.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.