Skip to content

Board tab

The Board (tab 1) is the kanban view of the current repo's issues. One column per state, cards stacked top-down, focus moves with the arrow-style keys.

┌─ Todo ─────┬─ In Progress ─┬─ Needs Action ─┬─ In Review ─┬─ Done ─────┬─ Cancelled ─┐
│ [ 7] Login │ [ 3] Refactor │ [ 8] Awaiting  │ [ 1] Render │ [ 2] Wire  │ [11] Drop   │
│      broke │      session… │      copy      │      cards  │      audit │      legacy │
│ [ 5] Empty │ [ 4] Tag      │                │             │ [ 6] Seed  │             │
│      state │      colours  │                │             │      docs  │             │
└─ 2 ────────┴─ 2 ───────────┴─ 1 ────────────┴─ 1 ─────────┴─ 2 ────────┴─ 1 ────────┘

The column title sits inside the top border; the issue count (and a / / arrow if the column scrolls beyond the visible window) sits inside the bottom border. Cards drop the repo prefix — it's already visible in the tab strip's top-right chip — and show only the issue number, padded to two characters so columns of mixed-width numbers stay aligned: [ 1], [ 2], [10], [123]. The brackets around the number are tinted with the per-feature colour; selected cards keep the brackets plain so nested styling doesn't punch holes in the selection background.

needs_action is for issues where an LLM agent is paused waiting on the user (the assignee stays, the column flags that the next move is the human's). For the full state semantics see data model — Issue.

Bindings (default view)

KeyAction
h / l (or left / right)Previous / next column.
j / k (or down / up)Previous / next card in the focused column.
g / homeJump to the first card in the focused column.
G / endJump to the last card in the focused column.
enterOpen the focused card's detail overlay.
cOpen the column-visibility picker.
fOpen the feature filter picker.
HHide the focused column (refuses if it's the last visible one).
dToggle the inline detail pane.
rReload from the database.
qQuit.

The full surface — including the three overlays the Board owns — is on the keybindings cheat sheet.

The card overlay (enter)

A full-screen view of one card with three inner panes:

  • Description — the issue's body, rendered with glamour.
  • Comments — the threaded comment list.
  • Attachments — linked documents and attached PR URLs.

tab / shift+tab cycles between panes. j/k (or arrow keys) scrolls within the active pane (or moves selection on Attachments). g/home and G/end jump top/bottom on every pane. pgdown/space and pgup jump 10 lines on the Description and Comments panes.

Pane-specific enter:

  • Description — closes the overlay.
  • Comments — opens every comment in a fullscreen scrollable view (esc returns to the overlay).
  • Attachments — opens the focused attachment. For a document, that jumps to the Docs tab with the file open; esc from there returns you to this card.

esc (from any pane) closes the overlay and returns focus to the card on the board.

The column picker (c)

A modal that lets you toggle which state columns are visible. Useful for hiding done and cancelled on a busy board.

KeyAction
j / kMove selection.
spaceToggle the focused column (refuses to hide the last visible one).
aShow all columns.
nMinimal — keep only the first state column visible (the in-app footer reads n minimal).
escClose.

Hidden columns persist per-repo (in tui_settings(repo_id, key, value)), so the next time you open the TUI you're back where you left off.

The feature picker (f)

A modal that lets you filter the board by feature. Each row shows a feature name and its issue count; toggling hides that feature's issues from the board.

KeyAction
j / kMove selection.
spaceToggle the focused feature.
aShow all features.
nIsolate — hide every feature except the focused one.
escClose.

Background refresh

The Board auto-reloads from the DB every few seconds — the timestamp in the footer's right-hand chip shows the last refresh. Useful when an agent is filing issues in another terminal and you want to watch them land.

Source of truth

This page mirrors internal/tui/board.go in the upstream repo. If the footer's help text disagrees with this page, the footer wins.

bacio · v0.1 · MIT