The board
The board is every worktree in the workspace as one flat list. No columns, no swimlanes, no grouping — one row each, ordered so the work that still needs you sits at the top.
Row anatomy
| Column | What it shows |
|---|---|
| Ticket | The linked ticket id, tinted and hoverable when the tracker knows it. Also holds the note button and the drag grip. |
| Time spent | Hands-on time measured from real activity, with the ticket's original estimate beside it when there is one. |
| Status | The ticket's real status, editable in place. Worktrees with no ticket get a local status instead. |
| Branch | The branch name, with the ticket prefix stripped since it already has its own column. |
| Changes | Files changed, additions, deletions. |
| (unlabelled) | A colored dot for the dev server, with start or stop and the worktree's settings next to it. |
The run dot reads grey for idle, amber for starting, green for running, red for crashed, and blue for a server Strado did not start but found on the port. Its tooltip carries the port, the detected URL, the pid and the exit code.
Two badges appear inline next to the branch when they apply. untracked means
git knows about this worktree but Strado does not, so it has no settings until
you adopt it. unlinked means it has no node_modules at all, linked or
installed.
A merge request or pull request for the branch shows as a chip before the branch name, carrying its number, its state, and a glyph for the CI result.
Ordering
Rows sort in two halves. Everything still moving stays on top; anything settled sinks to the bottom and renders at half opacity until you hover it. Settled means the linked ticket's status category says done, or — with no ticket — that you set the row to verified or done yourself.
Within each half the order is yours. Drag a row by the grip that appears at the left on hover; the order is stored per workspace, so it survives restarts.
Clicking through
Clicking anywhere on a row that is not a control opens that worktree's hub with a shell in it.
The Changes cell is the git entry point: clicking the counts opens diff and commit for that worktree. On a clean worktree the affordance is still there, revealed on hover.
Everything else a worktree can do — agents, the editor, the preview browser, logs, environment — lives in the hub the row opens, deliberately. The row keeps only state you can read at a glance.
Above the board
The bar above the board carries a chip listing every dev server running across the workspace right now — it hides itself when there are none — a Sessions toggle with a live count (⌘+L), and, when a ticket provider is connected, an Import tickets button that scaffolds worktrees from a sprint.
Row density is a setting, under Appearance: comfy or compact. Columns are resizable by dragging their header edges.