Voltar ao blog

Triagem de Issues por Teclado

Triagem de Issues por Teclado

Voce passa o dia no terminal. Navega arquivos com movimentos vim, troca de paineis tmux com teclas de prefixo e busca no historico do shell com Ctrl-R. Ai voce precisa fazer triagem do backlog, e toda ferramenta de gerenciamento de projetos do planeta quer que voce pegue no mouse.

Jira precisa de um clique para abrir um issue. Outro clique para fechar o painel. Outro para trocar de projeto. Linear e mais rapido, mas ainda fundamentalmente mouse-first: voce aponta, clica e rola. GitHub Issues exige um carregamento completo de pagina para cada issue que voce abre. Essas ferramentas foram desenhadas para product managers trabalhando em navegadores, nao para desenvolvedores trabalhando em terminais.

A friccao e pequena por interacao e enorme ao longo do dia. Se voce faz triagem de 30 issues em uma manha, sao 30 ciclos de pegar-no-mouse, clicar, ler e clicar-para-fechar. Suas maos saem do teclado 60 vezes para o que deveria ser uma varredura sequencial de uma lista.

Construimos o Beadbox para desenvolvedores que acham isso absurdo.

O workflow completo de triagem por teclado

Beadbox e um app desktop nativo (construido com Tauri, nao Electron) que renderiza um dashboard visual em tempo real para o issue tracker beads. Ele mostra arvores de epics, badges de dependencia, filtros de status e barras de progresso. E voce pode navegar tudo sem tocar no mouse.

Veja como uma sessao de triagem funciona:

  1. Abra o Beadbox. Seu workspace mais recente carrega automaticamente. Issues aparecem em uma tabela com badges de status, indicadores de prioridade e colunas de responsavel.

  2. Pressione j para descer na lista. Pressione k para subir. Sao movimentos estilo vim, a mesma memoria muscular que voce ja tem. O destaque de selecao acompanha sua posicao.

  3. Pressione Enter para abrir o painel de detalhes. O issue selecionado expande em um painel lateral mostrando descricao completa, comentarios, dependencias e metadados. Voce le sem perder seu lugar na lista.

  4. Pressione Escape para fechar o painel. Voce volta para a lista, cursor exatamente onde deixou. Pressione j para ir ao proximo issue.

  5. Pressione / para buscar. Uma barra de busca aparece. Digite uma palavra-chave ou ID de issue, e a lista filtra instantaneamente. Pressione Escape para limpar a busca e voltar a lista completa.

  6. Use setas nas arvores de epics. Quando voce esta vendo um epic com filhos aninhados, setas esquerda e direita colapsam e expandem nos da arvore. h e l tambem funcionam (navegacao horizontal estilo vim). Voce percorre um epic de 15 issues sem clicar em nenhum triangulo de expansao.

E isso. j/k para mover, Enter para abrir, Escape para fechar, / para buscar, setas para expandir arvores. Cinco teclas cobrem 90% da navegacao de triagem.

Se encontrar um issue que precisa de mudanca de status ou aumento de prioridade durante a triagem, voce vai para o terminal:

bd update bb-f8o --status in_progress --priority 1

Beadbox capta a mudanca em milissegundos (via filesystem watch e WebSocket) e re-renderiza. Voce ve o badge de status atualizado sem recarregar ou clicar. Depois pressiona j e continua.

Por que leituras e escritas sao separadas de proposito

Essa e a parte em que a maioria das ferramentas GUI erra. Elas tentam lidar com tudo: ler issues, editar campos, mudar status, gerenciar dependencias. O resultado sao formularios. Muitos formularios. Menus dropdown para status. Campos de texto para descricoes. Dialogos modais para gerenciamento de dependencias. Cada uma dessas interacoes exige clicar.

Beadbox tomou uma abordagem diferente. E uma interface focada em leitura. O CLI cuida das escritas.

O CLI beads (bd) ja e a fonte da verdade para seus dados de issues. Agentes usam. Scripts usam. Sua automacao usa. Construir um segundo caminho de escrita por uma GUI cria um problema de sincronizacao e dobra a superficie de bugs.

Em vez disso, Beadbox otimiza implacavelmente para compreensao e navegacao. Ele responde as perguntas em que terminais sao piores: Como e a arvore completa do epic? Quais issues estao bloqueados, e por que? Qual o progresso desta feature? O que mudou na ultima hora? Sao perguntas visuais. Saida de texto plano de bd list pode tecnicamente responde-las, mas uma arvore colapsavel com barras de progresso responde com um olhar.

Os atalhos de teclado existem para tornar esse olhar rapido. Voce varre, le, entende. Quando precisa agir, digita um comando bd. Duas ferramentas, cada uma fazendo o que faz melhor.

Trocando workspaces sem perder contexto

Se voce trabalha em multiplos projetos, cada um com seu proprio banco de dados beads, trocar de workspace se torna uma friccao diaria. Na maioria das ferramentas de gerenciamento de projetos, trocar de projeto significa navegar para uma URL diferente, logar em um workspace diferente ou abrir uma nova aba do navegador. Seus filtros resetam. Sua posicao de scroll reseta. Voce perde o contexto mental do projeto anterior.

Beadbox lida com isso de forma diferente. Um dropdown no cabecalho lista cada workspace detectado. Clique (ou navegue com o teclado), selecione um projeto diferente e toda a visualizacao recarrega a partir do banco de dados daquele projeto. O detalhe crucial: filtros e posicao de scroll persistem por workspace. Quando voce volta, tudo esta exatamente onde deixou.

A deteccao e automatica. Beadbox busca em ~/.beads/registry.json workspaces registrados e descobre diretorios contendo bancos de dados .beads/. Adicione um novo projeto, rode bd init nele, e na proxima vez que abrir o Beadbox ele aparece no dropdown. Sem importacao, sem tela de configuracao, sem assistente "adicionar workspace".

Para desenvolvedores que mantem multiplos servicos ou gerenciam agentes em varios repositorios, isso transforma o Beadbox em um painel unico para todo o trabalho ativo. A alternativa sao multiplas janelas de terminal, cada uma rodando bd list contra um --db path diferente, e mantendo o controle de qual janela aponta para qual projeto na sua cabeca.

Como as alternativas se comparam

Toda ferramenta de gerenciamento de projetos relevante exige interacao com mouse para navegacao basica:

Jira tem atalhos de teclado (j/k existem), mas eles navegam entre issues em uma visualizacao de lista que ainda exige clicar para abrir detalhes, clicar para trocar projetos e clicar em menus profundamente aninhados para gerenciar epics. Os atalhos parecem acoplados depois, nao fundamentais.

Linear e o mais proximo de keyboard-friendly entre ferramentas SaaS. Tem Cmd+K para command palette e alguns atalhos de navegacao. Mas trocar de workspace ainda exige clicar em um menu lateral, e a command palette e um modelo de interacao search-first, nao scan-first. Voce precisa saber o que esta procurando. Triagem e sobre varrer o que voce ainda nao sabe.

GitHub Issues nao tem navegacao por teclado significativa para triagem. Voce clica em um issue para abrir (carregamento de pagina completo), clica no botao voltar para retornar e repete. Trocar entre repositorios e uma mudanca de URL. Nao ha varredura por teclado de um backlog.

Beadbox foi projetado em torno de triagem por teclado desde o inicio. Os atalhos nao sao um pensamento posterior colocado em cima de uma UI mouse-first. O modelo inteiro de navegacao assume que suas maos ficam no teclado. O mouse tambem funciona (tudo e clicavel), mas e o fallback, nao a interacao primaria.

O que voce esta realmente comparando

A diferenca real nao e "qual ferramenta tem mais atalhos de teclado." E o modelo de interacao.

Ferramentas mouse-first otimizam para descoberta. Toda acao tem um botao visivel. Isso e otimo para onboarding e para usuarios nao tecnicos que precisam encontrar funcionalidades. E terrivel para velocidade quando voce ja sabe o que esta fazendo.

Ferramentas keyboard-first otimizam para throughput. Quando voce aprende j/k/Enter/Escape, faz triagem na velocidade de leitura, nao na velocidade de apontar. A troca e uma curva de aprendizado inicial mais ingreme (voce precisa saber que os atalhos existem). Para desenvolvedores que ja usam movimentos vim no editor e terminal, essa curva e essencialmente plana.

Beadbox tambem faz uma troca que ferramentas SaaS nao podem: so funciona com beads. Voce nao ganha as integracoes do Jira, os ciclos do Linear ou os links de pull request do GitHub. Voce ganha um dashboard visual para um issue tracker Git-native que armazena tudo localmente, funciona offline e permite que agentes de IA leiam e escrevam issues por Unix pipes. Se essa e sua stack, o workflow por teclado e imbativel. Se voce precisa de notificacoes Slack quando issues fecham, essa nao e a ferramenta certa hoje.

Comecando

Instale o Beadbox com Homebrew:

brew tap beadbox/cask && brew install --cask beadbox

Se voce ja usa beads, o Beadbox detecta seus workspaces .beads/ automaticamente. Abra o app e comece a pressionar j.

Roda em macOS, Linux e Windows. Gratuito durante o beta.