Torna al blog

Triage delle issue guidato dalla tastiera

Triage delle issue guidato dalla tastiera

Passi la giornata in un terminale. Navighi i file con le motion vim, cambi pannello tmux con i tasti prefix e cerchi nella cronologia della shell con Ctrl-R. Poi devi fare triage del tuo backlog, e ogni strumento di project management del pianeta vuole che tu prenda il mouse.

Jira richiede un click per aprire una issue. Un altro click per chiudere il pannello. Un altro per cambiare progetto. Linear e piu veloce, ma resta fondamentalmente mouse-first: punti, clicchi, scorri. GitHub Issues richiede un caricamento completo della pagina per ogni issue che apri. Questi strumenti sono stati progettati per product manager che lavorano nei browser, non per sviluppatori che lavorano nei terminali.

L'attrito e piccolo per ogni singola interazione ed enorme nell'arco di una giornata. Se fai triage di 30 issue in una mattinata, sono 30 cicli di prendi-il-mouse, clicca, leggi, clicca-per-chiudere. Le tue mani lasciano la tastiera 60 volte per quella che dovrebbe essere una scansione sequenziale di una lista.

Abbiamo costruito Beadbox per gli sviluppatori che pensano che questo sia assurdo.

Il workflow completo di triage da tastiera

Beadbox e un'app desktop nativa (costruita su Tauri, non Electron) che renderizza una dashboard visuale in tempo reale per l'issue tracker beads. Ti mostra alberi delle epic, badge delle dipendenze, filtri per stato e barre di avanzamento. E puoi navigare tutto senza toccare il mouse.

Ecco come appare una sessione di triage:

  1. Apri Beadbox. Il tuo workspace piu recente si carica automaticamente. Le issue appaiono in una tabella con badge di stato, indicatori di priorita e colonne degli assegnatari.

  2. Premi j per scendere nella lista. Premi k per salire. Sono motion in stile vim, la stessa memoria muscolare che hai gia. L'evidenziazione della selezione segue la tua posizione.

  3. Premi Enter per aprire il pannello di dettaglio. La issue selezionata si espande in un pannello laterale che mostra la descrizione completa, i commenti, le dipendenze e i metadati. La leggi senza perdere il tuo posto nella lista.

  4. Premi Escape per chiudere il pannello. Sei tornato nella lista, con il cursore esattamente dove l'avevi lasciato. Premi j per passare alla issue successiva.

  5. Premi / per cercare. Appare una barra di ricerca. Digita una parola chiave o un ID issue e la lista si filtra istantaneamente. Premi Escape per cancellare la ricerca e tornare alla lista completa.

  6. Usa i tasti freccia sugli alberi delle epic. Quando visualizzi un'epic con figli annidati, le frecce sinistra e destra comprimono ed espandono i nodi dell'albero. Anche h e l funzionano (navigazione orizzontale in stile vim). Puoi scansionare un'epic da 15 issue senza cliccare un solo triangolo di espansione.

Tutto qui. j/k per muoversi, Enter per aprire, Escape per chiudere, / per cercare, tasti freccia per espandere gli alberi. Cinque tasti coprono il 90% della navigazione di triage.

Se noti una issue che necessita di un cambio di stato o di priorita durante il triage, passi al terminale:

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

Beadbox intercetta la modifica in pochi millisecondi (tramite filesystem watch e WebSocket) e ri-renderizza. Vedi il badge di stato aggiornato senza fare refresh o cliccare nulla. Poi premi j e vai avanti.

Perche letture e scritture sono separate di proposito

Questo e il punto dove la maggior parte degli strumenti GUI sbaglia. Cercano di gestire tutto: leggere issue, modificare campi, cambiare stati, gestire dipendenze. Il risultato sono form. Tanti form. Menu a tendina per lo stato. Campi di testo per le descrizioni. Dialog modali per la gestione delle dipendenze. Ognuna di quelle interazioni richiede click.

Beadbox ha adottato un approccio diverso. E un'interfaccia orientata alla lettura. La CLI gestisce le scritture.

La CLI di beads (bd) e gia la fonte di verita per i tuoi dati delle issue. Gli agenti la usano. Gli script la usano. Le tue automazioni la usano. Costruire un secondo percorso di scrittura attraverso una GUI crea un problema di sincronizzazione e raddoppia la superficie per i bug.

Invece, Beadbox ottimizza senza compromessi per la comprensione e la navigazione. Risponde alle domande per cui i terminali sono meno adatti: Com'e l'intero albero dell'epic? Quali issue sono bloccate, e da cosa? Quanto e avanti questa funzionalita? Cosa e cambiato nell'ultima ora? Sono domande visuali. L'output testuale di bd list puo tecnicamente rispondere, ma un albero comprimibile con barre di avanzamento risponde con un colpo d'occhio.

Le scorciatoie da tastiera esistono per rendere quel colpo d'occhio rapido. Scansioni, leggi, capisci. Quando devi agire, digiti un comando bd. Due strumenti, ognuno che fa cio in cui eccelle.

Cambiare workspace senza perdere il contesto

Se lavori su piu progetti, ognuno con il proprio database beads, il cambio di workspace diventa un punto di attrito quotidiano. Nella maggior parte degli strumenti di project management, cambiare progetto significa navigare a un URL diverso, accedere a un workspace diverso o aprire una nuova scheda del browser. I tuoi filtri si resettano. La tua posizione di scorrimento si resetta. Perdi il contesto mentale che avevi nel progetto precedente.

Beadbox gestisce la cosa diversamente. Un menu a tendina nell'header elenca ogni workspace rilevato. Cliccalo (o navigaci con la tastiera), seleziona un progetto diverso e l'intera vista si ricarica da quel database di progetto. Il dettaglio cruciale: filtri e posizione di scorrimento persistono per workspace. Quando torni indietro, tutto e esattamente dove l'avevi lasciato.

Il rilevamento e automatico. Beadbox scansiona ~/.beads/registry.json per i workspace registrati e scopre le directory che contengono database .beads/. Aggiungi un nuovo progetto, esegui bd init al suo interno, e la prossima volta che apri Beadbox appare nel menu a tendina. Nessuna importazione, nessuna schermata di configurazione, nessun wizard "aggiungi workspace".

Per gli sviluppatori che mantengono piu servizi o gestiscono agenti su diversi repository, questo trasforma Beadbox in un pannello unico su tutto il lavoro attivo. L'alternativa sono piu finestre di terminale, ognuna che esegue bd list con un diverso percorso --db, e il tentativo di ricordare quale finestra punta a quale progetto.

Come si confrontano le alternative

Ogni strumento di project management di rilievo richiede interazione col mouse per la navigazione base:

Jira ha scorciatoie da tastiera (j/k esistono), ma navigano tra issue in una vista lista che richiede comunque click per aprire i dettagli, click per cambiare progetto e click attraverso menu profondamente annidati per gestire le epic. Le scorciatoie sembrano aggiunte a posteriori piuttosto che fondamentali.

Linear e il piu vicino a essere keyboard-friendly tra gli strumenti SaaS. Ha Cmd+K per la palette comandi e alcune scorciatoie di navigazione. Ma il cambio workspace richiede comunque di cliccare attraverso un menu laterale, e la palette comandi e un modello di interazione search-first, non scan-first. Devi sapere cosa cerchi. Il triage riguarda la scansione di cio che non sai ancora.

GitHub Issues non ha navigazione da tastiera significativa per il triage. Clicchi una issue per aprirla (caricamento completo della pagina), clicchi il pulsante indietro per tornare, e ripeti. Cambiare repository e un cambio di URL. Non c'e scansione da tastiera di un backlog.

Beadbox e stato progettato attorno al triage da tastiera fin dall'inizio. Le scorciatoie non sono un'aggiunta postuma stratificata sopra una UI mouse-first. L'intero modello di navigazione presuppone che le tue mani restino sulla tastiera. Il mouse funziona (tutto e cliccabile), ma e il fallback, non l'interazione principale.

Cosa stai realmente confrontando

La differenza reale non e "quale strumento ha piu scorciatoie da tastiera". E il modello di interazione.

Gli strumenti mouse-first ottimizzano per la scopribilita. Ogni azione ha un pulsante visibile. E fantastico per l'onboarding e per gli utenti non tecnici che devono trovare le funzionalita. E pessimo per la velocita una volta che sai cosa stai facendo.

Gli strumenti keyboard-first ottimizzano per il throughput. Una volta che impari j/k/Enter/Escape, fai triage alla velocita di lettura, non alla velocita del puntamento. Il compromesso e una curva di apprendimento iniziale piu ripida (devi sapere che le scorciatoie esistono). Per gli sviluppatori che usano gia le motion vim nel loro editor e terminale, quella curva e praticamente piatta.

Beadbox fa anche un compromesso che gli strumenti SaaS non possono: funziona solo con beads. Non hai le integrazioni di Jira, i cicli di Linear o i link alle pull request di GitHub. Hai una dashboard visuale per un issue tracker Git-native che salva tutto localmente, funziona offline e permette agli agenti AI di leggere e scrivere issue tramite pipe Unix. Se quello e il tuo stack, il workflow da tastiera e impareggiabile. Se hai bisogno di notifiche Slack quando le issue si chiudono, oggi non e lo strumento giusto.

Per iniziare

Installa Beadbox con Homebrew:

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

Se usi gia beads, Beadbox rileva automaticamente i tuoi workspace .beads/. Apri l'app e inizia a premere j.

Funziona su macOS, Linux e Windows. Gratis durante la beta.