devpit

Columns and cards

A board per project, where moving a card is what starts the work.

Every project has one board: lanes left to right, cards in them. The card is the trigger, not the record — moving one is what starts the work, so the board has no way to describe something that is not happening.

Open it from the sidebar's Board row. A new card is + Add card at the foot of a lane, or New Task → Card on the board.

Columns

A new project gets six lanes — inbox, refine, review, doing, check, ship — with nothing behind them. Every lane runs nothing until you give it a step.

Rename a lane by double-clicking its header, reorder it by dragging the header, add one with + Column in the board toolbar. Deleting asks first: "The lane goes. Cards in it are never deleted with it — if there are any, you choose where they move."

The header also carries the lane's step badge — no step when it has none, an auto pill when the lane moves cards on its own, and cannot be read when the step's stored settings are not readable.

Cards

A tile shows the play button, what the card has spent, a due-date pill, its comment count, how many files are pinned to it, and an activity dot. Click it for the whole card: title and description, its lane, due date, comments, the diff of its checkout, and its Work, Runs and Sessions sections. Archive or delete it from the card's header menu; archiving offers Undo.

A due date can carry a time, and goes off at it — see Reminders. When a session on the card changed files in another repository too, the card says so — Also changed 13 files in devpit-app — with which are still uncommitted, and opens that project when devpit has it.

The dot is about agents, and says one of six things:

Dot What it means
open An agent is open on this card — what it is doing shows once it reports. Only the project open in this window is followed.
working An agent is working on this card
waiting An agent is waiting on you — drawn as a ?
done An agent finished
failed A run on this card failed
gone The session on this card ended

Moving one

Dropping a card on a lane that runs a step starts that step — a session or command step in the card's own checkout, an agent step in the project. Two things never start from a drag: a lane with no step, and a step marked as having no undo — that one waits for the play button, which asks before it fires. Reordering a card within its own lane starts nothing.

Moving a card to another lane while a run is still going on it asks Move this card? → Move it anyway. The card moves, and the new lane's step does not start: a second run never shares the checkout with the first.

What happens when the step finishes is the lane's own setting — see Moving cards.

The card follows the work

An agent working on a card moves it with the work, so the board says where it stands without anyone remembering to drag it:

  • when a session on the card takes a prompt, a card still in a lane for waiting work moves to the lane for work in progress;
  • when the agent says it has started (devpit_start_card), the card moves there from wherever it is;
  • when the agent says it has finished (devpit_finish_card), what it did is written on the card as a comment, and the card moves to the lane for checking.

Which lane is which is a role, chosen from the lane's menu: Holds waiting work, Holds work in progress, Holds work to check or Holds done work. A lane with no role chosen is read by its name — inbox, doing, review, done and the usual others — and the menu marks that guess by its name. A card is never moved this way into a lane that runs a step: entering one starts work, and that stays your move.