Skip to content

primum

A command-line tool that keeps your work items as plain markdown files, ranked by what matters most. Runs in your terminal with a local web board, and history and sync built in.
The primum board: items in priority order, lanes as filters, next up above the table The primum board in dark mode

One file per item

items/87.md is #87: front matter for its scores, markdown for its text. Edit it with primum, the board, or any editor.

Ranked for you

Impact, urgency and risk over effort give each item a score; lanes and scores order the board, and primum next says what to do now.

A local board

primum serve opens every project in the browser: filter by lane, edit in place, read specs and plans beside the item.

History built in

Every change is a commit in a git repository primum keeps for the project. The folder itself need not be a git repository.

Sync without merges

Set a remote and every change syncs. primum merges field by field; only the same field changed two ways is a conflict.

Plain files you own. A project is a folder of markdown files and one BOARD.md summary. Read them on GitHub, grep them, review them in a pull request. Stop using primum and they are still your notes.

A priority, not a pile. Every item carries four scores from 1 to 10 and a lane (URGENT, BUG, DEBT, KILLER, TODO). The order is computed, so “what next” is a command, not a meeting. Items that wait on other open items are marked blocked and skipped.

Specs and plans beside the work. items/87.spec.md belongs to #87 by its name; the board shows it as a tab next to the item.

Made for scripts and agents. Every command takes plain arguments, text comes from files or standard input, and list, show and log answer in --json. See working with AI agents.

One binary. Rust, no runtime, no service, no account. The board listens on 127.0.0.1 only.