Files
narl-workspace/docs/wiki/Boards-and-Agenda.md
T
nvrl 4eb663e2d7 docs: a guide, a wiki and screenshots
The README grew a section per feature and is a good reference, but nothing
said where to begin. docs/wiki now has a getting-started page, a guide that
walks through one day with the workspace and explains each part where it comes
up, and a page per part of the app, each with screenshots of what it
describes.

Three pages are read out of the code rather than written, so they cannot drift
from it: the keys and commands from Help.svelte and commands.ts, the same lists
`:help` draws; the settings from .env.example, which gains a heading for the
vault, trash and history settings so they no longer sit under mail; and the
API from the README's table. `make wiki` writes them, and `--check` fails when
one is stale or a link between pages leads nowhere. `--publish` lays the pages
out for a GitHub wiki: links without `.md`, images beside them, `[[` escaped so
the wiki does not take a command's help text for a link to a page.

The screenshots are taken by `make screenshots`: the debug binary on a
temporary data directory, with a password made up for the run, filled with an
example workspace over the API, and a headless Chromium driven over the
DevTools protocol through the views the docs show. Nothing outside the
temporary directory is touched but docs/images, and the pictures are cut to
256 colours, a third of their size, which a dark UI does not show.

The README opens with the banner, a CI badge, the guide, the features grouped
by what they are for, and six of the screenshots.
2026-10-21 12:07:32 +02:00

4.3 KiB

Boards and the agenda

The board

Every space except the diary has a board. b, the board button on the rail, or :board swaps the tree for it, and q swaps back.

The board of a space

A new board has three lists: backlog, doing and done. The lists mean something by where they stand, not by their names:

  • the first list is the inbox, where new cards land;
  • the last list is done. A card is finished exactly when it is in the last list: moving it there stamps it, moving it out reopens it;
  • the lists between are work in hand, which the agenda shows.

:list <name> adds a list in front of the last one, :name! renames the list under the cursor, and :list! deletes it with its cards. Done cards older than a week fold away until z shows them.

key what it does
h / l to the list on the left / right
j / k down / up the cards
J / K move the card down / up its list
H / L move the card to the list on the left / right
Space into the done list, or back out to the inbox
o, c a new card on this list
Enter the card's notes
D due date
R rename the card
z show done cards older than a week
F a letter over every card; type it to jump there
x, dd delete the card
q, Esc back to the tree

Capturing a card

c anywhere outside the board opens :card on the command line. The card goes into the inbox of the space you are in, or of the first space with a board, and you stay where you were. From outside the browser, see Capture.

Notes

Enter on a card opens its notes: a document named after the card, made in the root of the space the first time. Closing it goes back to the board, on the same card. :card! while reading a document makes a card that points at it.

The link is loose on purpose: deleting the document leaves the card, because the work is still open when its notes are gone.

Due dates

D on a card (or :due <when>) takes a date the way it is said:

you type it means
today, td today
tm, tomorrow tomorrow
fri the next Friday, never today
+3d, +2w in three days, in two weeks
10-31 the next 31 October
2026-10-31 that day
- no due date

Cards that come back

:repeat weekly, or the ↻ button on the rail, makes a card come back once it is done. The rules are daily, weekly, monthly, yearly, and any +3d, +2w, +6m or +1y. :repeat - stops it.

Finishing such a card leaves a copy at the bottom of the inbox, with the same title, notes and rule, due on the next date. The next date counts on from the old due date, in WORKSPACE_TIMEZONE:

  • a card due at noon stays due at noon across a change of the clocks;
  • a card due on the 31st comes back on the last day of a shorter month, and on the 31st again where there is one;
  • a card finished late skips the dates that have passed;
  • a card without a due date counts from the moment it was finished.

The finished card gives up its rule, so reopening it and finishing it again does not make a second copy. The board and the agenda show the rule as ↻ weekly beside the date.

The agenda

t (or :agenda) gathers what needs you from every board at once.

The agenda

  • late, today and this week: unfinished cards by due date;
  • in hand: cards in a list between the inbox and done;
  • whether the diary has an entry for today;
  • on this day: diary entries from the same day in earlier years. A 29 February is remembered on the 28th in the years that have none.
key what it does
j / k down / up, on into the diary entries
Enter to the card on its own board, or open the entry
Space finish the card where it stands
D due date
H / L to the list left / right on its board
: the command line with the agenda kept up, so :repeat acts on the card
T today's diary entry
t, q, Esc close

The agenda opens by itself once a day when something is late or due. The bar shows the late and today counts whenever either is above zero. With mail set up, cards due today are mailed in the morning too; see Backup and mail.