Your first week
This is the whole loop once, on a project with no history: plan a stage, work a sitting, ship, and ask the record what happened. Every transcript here was taken from a real run. Install first - Getting Started has the one line for your platform.
Day one: a project and a plan
Section titled “Day one: a project and a plan”init makes the record - one SQLite file in the platform’s data directory - and project add points it at a repository. The name is the directory’s; --name overrides.
$ rigger initCreated C:\Users\you\AppData\Local\lacodda\rigger\data\config.toml with the 'line' profileCreated C:\Users\you\AppData\Local\lacodda\rigger\data\profiles\line\rigger.db (schema version 27)Next: rigger project add <path>
$ rigger project add C:\dev\sampleRecorded 'sample' at C:\dev\sample remote: https://github.com/acme/sample.gitA plan is a list of stages, and a stage is a version that will end in a tag. version add plans one with its tasks, and --week aims it at a week of the calendar:
$ rigger version add sample v0.1.0 --title "First light" --task "read a sheet" --task "write the report" --week 2026-W43Added v0.1.0 to sample, with 2 tasks aimed at 2026-W43 - the week of 2026-10-23
$ rigger version add sample v0.2.0 --title "Charts" --task "draw a chart"Added v0.2.0 to sample, with 1 taskWhat you decide and what only you can answer go into the record as you go, not into a notes file afterwards. note takes a kind - a decision, a finding, a pitfall, a question for the owner:
$ rigger note sample "Read sheets with one library, not two" --kind decisionRecorded a decision for sample
$ rigger note sample "Which file formats come first?" --kind questionAsked the owner about sample; it waits in the inbox until answeredDay two: a sitting
Section titled “Day two: a sitting”A coding assistant starts from the context packet - the stage being built, what waits for you, what happened lately - held to a token budget however long the history behind it grows:
$ rigger context sample# sample
C:\dev\samplehttps://github.com/acme/sample.gitNothing shipped yet2 versions planned, 3 tasks open
## Current stage: v0.1.0 · First light- read a sheet- write the report
## Waiting for the owner- [2] Which file formats come first?
## Recent- [1] 2026-10-07 · decision · Read sheets with one library, not two
(Any [id] above reads whole with `rigger event sample <id>`.)rigger open sample starts the assistant in the project with that packet as its first message. Connected to the MCP server - the installer registers it - the assistant reads and writes the record itself; everything below is what it does through its tools, shown as the commands a person would type.
A session holds a sitting together: what is recorded between start and end belongs to it.
$ rigger session start sampleSession open on sample. Everything recorded now belongs to it.
$ rigger note sample "A merged cell is read as its first cell" --kind findingRecorded a finding for sampleTasks are closed by their id, which version show lists:
$ rigger version show samplesample v0.1.0 · First light
aimed at 2026-W43 - releases on 2026-10-23tasks 2 open of 2 [1] new read a sheet [2] new write the report
$ rigger task status 1 doneTask 1 is now done (was new): read a sheet
$ rigger task status 2 doneTask 2 is now done (was new): write the reportDay three: a release
Section titled “Day three: a release”The plan does not decide what shipped - git does. Tag the release as you always would, and sync reads it: the tag closes the version, on the date of its commit, and the conventional commit messages since the last tag become the changelog.
$ git tag v0.1.0$ rigger sync samplesample: shipped v0.1.0 on 2026-10-07 read 2 changes from commit messagesThe next sitting starts from one line, and the end of this one says what it held:
$ rigger note sample "Start the charts from the report's table" --kind nextSet the next step for sample; the next session starts from it
$ rigger session end sampleSession on sample closed, open since 2026-10-07T13:14:59Z.
recorded 1 findingclosed 2 tasksnext: Start the charts from the report's tablecopied the database to C:\Users\you\AppData\Local\lacodda\rigger\data\profiles\line\rigger.v27-20261007-131500.bak
Write it into a diary with: rigger session end sample --diary <file>The rest of the week: what the record answers
Section titled “The rest of the week: what the record answers”What waits on you, across every project at once - and the answer becomes a decision:
$ rigger inbox1 question in 1 project
sample [ 2] 2026-10-07 Which file formats come first?
Answer one with: rigger resolve <project> <id> "<answer>"
$ rigger resolve sample 2 "CSV and XLSX; ODS later"Answered [2]: Which file formats come first? the answer is recorded as a decisionThe project’s own screen, for you rather than for the assistant:
$ rigger show samplesampleReads every spreadsheet you have
path C:\dev\sampleremote https://github.com/acme/sample.git
Last shipped v0.1.0 on 2026-10-071 version planned, 1 task open
Current stage: v0.2.0 · Charts draw a chart
Next step Start the charts from the report's tableWhere a thing was said, and what went into a release:
$ rigger find sheetsample 2026-10-07 decision Read sheets with one library, not twosample 2026-10-07 change feat: read a sheet
$ rigger why sample v0.1.0v0.1.0 · First light — shipped 2026-10-07the work from the start of the record
2026-10-07 decision Read sheets with one library, not two2026-10-07 answered Which file formats come first?2026-10-07 finding A merged cell is read as its first cell2026-10-07 change feat: read a sheet2026-10-07 change feat: write the reportAnd the calendar, comparing what was aimed at with what the tags say happened - this release came two weeks before its week:
$ rigger calendar --from 2026-W41 --weeks 4 2026-W41* 2026-W42 2026-W43 2026-W44sample <v0.1.0
+ shipped as planned < early > slipped ! overdue * unplanned · planned
sample v0.1.0 — aimed at 2026-W43, 2 weeks earlyOn Monday, rigger week gathers the focus, what ships on Friday and what waits on you into one screen; rigger digest says what moved, five lines per project. On any day, rigger pick says which project to take up next, and why.
For a program rather than a person
Section titled “For a program rather than a person”Every command above takes --json and prints one JSON document, and each command’s page has a table of its fields - the JSON output contract a script or an editor can build on.
- Notes you already keep by hand: move a hub into the record.
- Several repositories at once:
adopt. - At work, tasks are tickets across repositories: profiles and task cards.