Use

TUI

TUI

gitcrawl tui is the interactive cluster browser. Keyboard-first, mouse-friendly, refreshes from local SQLite every 15 seconds.

#Launching

gitcrawl tui owner/repo
gitcrawl tui                      # infers the most recently updated local repo
gitcrawl tui --min-size 5         # default; show clusters with ≥5 active members
gitcrawl tui --sort recent        # alternate sort
gitcrawl tui --hide-closed        # focus only on currently open clusters
FlagDefaultDescription
--min-size <n>5Minimum active member count
--sort recent|oldest|sizesizeCluster ordering
--limit <n>500Working-set cap (rows fetched into the TUI)
--hide-closed(off)Hide locally closed clusters
--include-closed(deprecated)Closed clusters are included by default
--json(off)Emit a non-interactive JSON snapshot instead of launching the UI

When --json is passed, the TUI command produces the same cluster summary the interactive view would render — useful for CI checks or for an agent that wants the same view a human would see.

#Default behavior

The TUI starts at --min-size 5 and --sort size so the first screen is the useful triage workload, not singleton noise. Pass --min-size 1 when you intentionally want singletons (e.g., looking for orphans).

The view auto-refreshes from the local store every 15 seconds. There is no GitHub call from the TUI itself — to bring in fresh upstream data, run gitcrawl sync (or refresh) in another terminal and the TUI picks it up on the next tick.

#Keyboard

KeyAction
/ Move within the active pane
Tab / Shift+TabSwitch panes
EnterOpen detail for selected cluster or member; on a member, loads neighbors first
aOpen the action menu (cluster or member, depending on focus)
#Jump to a specific issue or PR number
nLoad neighbors for the selected issue or PR
pSwitch between repositories already present in the local store
sCycle sort mode (sizerecentoldest, both directions)
/Filter rows by substring
qQuit

The action menu opened with a mirrors the right-click menu, so every mouse action has a keyboard equivalent.

#Mouse

Mouse support is built in and works in most modern terminals (iTerm2, Kitty, Alacritty, WezTerm, recent macOS Terminal):

  • Click a row to select it
  • Double-click to open detail
  • Wheel scrolls the focused pane
  • Right-click opens the cluster or member action menu
  • Trackpad scroll is buffered to avoid jumpy redraws

If your terminal does not pass through mouse events, all actions remain available via keyboard.

#Action menu

Cluster actions:

  • Copy issue/PR URL or number
  • Sort cluster members
  • Filter to a member subset
  • Jump to a referenced issue or PR
  • Open canonical thread on GitHub
  • Load neighbors for the canonical
  • Local close / reopen
  • Set canonical member
  • Exclude / include member

Member actions:

  • Copy URL / number
  • Load neighbors
  • Open on GitHub
  • Local close / reopen this thread
  • Exclude from cluster

These map directly onto the governance commands. Anything you can do interactively, you can also script.

#Display rules

gitcrawl clusters and the TUI use the same display rules:

  • Latest raw run clusters first
  • Closed durable rows merged in as historical context
  • Default sort is size (largest active membership first)
  • GitHub-closed members are hidden from the latest-run view; pass --include-closed to see the full historical cluster

For an audit-style view that does not merge with the latest run, use gitcrawl durable-clusters --include-closed.

#Tips

  • Resize your terminal — the panes reflow.
  • A single repo with thousands of threads is fine; the working set is capped at 500 rows so the UI stays snappy.
  • Run gitcrawl refresh owner/repo periodically in a sibling terminal; the TUI reflects new data on the next 15s tick.
  • If the cluster you are looking for is missing, check --min-size and --hide-closed.
  • The status bar at the bottom shows the active sort, filter, repo, and any warnings (e.g., "vector model mismatch — re-run embed").