Core

Views and search

One set of tickets, many angles. Views are read commands: they never mutate, they all take --json, and the useful ones can be saved and replayed by name.

The standard views

CommandWhat it answers
tracker boardDefault polished table. --style kanban selects optional cards. --view replays a saved board.
tracker backlogEverything not yet groomed to ready.
tracker blockedTickets whose blockers are unresolved right now, derived from live status.
tracker nextThe single best next ticket for an actor: ready work first, then backlog whose blockers are all done (unblocked_for_me), then the rest of the queue.
tracker queueAn actor's work queue grouped by category, printed in this order: ready_for_me, unblocked_for_me (backlog whose blockers are all done), claimed_by_me, blocked_for_me, needs_review, awaiting_owner, stale_claims, policy_violations. --json keys the same groups by name.
tracker review-queueWhat is waiting on review, per reviewer.
tracker owner-queueDecisions only a human owner can make.
tracker whoWho holds what, across the workspace.
tracker dashboardThe delivery summary across projects and runs.
tracker timelineA ticket's event timeline.
tracker inboxDerived human to-dos: open gates and handoff-ready runs.
tracker approvalsOpen approval work in one list.
tracker mentionsWhere an actor was mentioned.

Inbox items are derived, not stored: open gates surface as gate:<id> and handoff-ready runs as handoff:<id>. Nothing to clean up.

Search syntax

Search is a tiny query language over indexed fields plus free text.

query terms
  • Fields: status=, type=, project=, assignee=, label=.
  • Free text: text~. Multi-word values work bare (text~logout flow) or quoted.
  • A malformed query is exit 2 with a JSON error under --json, so scripts fail loudly.

Saved views

save an angle, replay it anywhere
tracker views save sprint-42 --kind search --query 'project=APP label=sprint-42'
tracker views run sprint-42
tracker views list
tracker views delete sprint-42

Kinds: board, search, queue, next. Saved views also power other tools: bulk --view expands one into ticket IDs, and the web board can load one from its URL state.

Watchers

subscribe to changes
tracker watch ticket APP-1 --actor human:owner
tracker watch project APP --actor human:owner --event ticket.moved
tracker watch list
tracker unwatch ticket APP-1 --actor human:owner

Watchers feed notification audience resolution. If a watched ticket, project, or view disappears, the watcher is marked inactive instead of dropped, so nothing silently unsubscribes.

The TUI

tracker tui is the full-screen cockpit: Board, Queues, Detail, Search, Review, Owner, Inbox, Views, and Ops tabs in one screen.

KeyAction
/Open the slash command palette.
n / eCreate or edit a ticket.
m / sMove or assign the selected ticket.
cToggle claim and release.
oComment.
p / v / x / dRequest review, approve, reject, complete.
l / uLink and unlink dependencies.
b then yPreview a bulk action, then apply the preview.
tab / shift+tabSwitch tabs.

The palette accepts the same slash commands as tracker shell, so muscle memory transfers between the two.

Rendering a single ticket for a PR description or a handoff? tracker render APP-1 prints clean Markdown for exactly one ticket.