Skip to content

mxr todo

Generated from mxr todo --help. Edit the clap definitions in crates/daemon/src/cli/ and re-run npm run build in site/ to regenerate.

Things email asked you to do, ordered by when to act.

Each row is one thing to do, written as what to do rather than the email’s subject (“Pay council tax”), with who it’s for, how much, when to act and when it’s due. A row shows up on the day you should start on it: a bill three days before it’s due, a renewal two weeks before, a verify link at once. Bills, failed payments, renewals, sign and verify requests, invites and the promises you made land here. A payment collected by direct debit or card on file is not a to-do; a failed one is.

With no subcommand, prints the runway: Now, Coming up by week, Later, Whenever and Done this week.

mxr todo [OPTIONS] [COMMAND]
Subcommand Purpose
list The runway (the default), or every row in one state
why Where each field of a to-do came from: schema.org, a pattern in the email, the lead-time table, a model, or you
done Tick off to-dos
undo Reopen to-dos you ticked off, marked not a to-do, or that expired. A reopened row is yours: it never expires again
dismiss Not a to-do: kept as a correction and never shown again
snooze Show a to-do on your own date (“mon 9am”, “in 3d”, “fri”). The due date stays as it is
edit Correct a to-do: title, due, amount, counterparty or kind, as field=value. The row is yours from then on
add Add a to-do from a message yourself
catchup The first run’s one-time catch-up: things from before mxr sorted your mail that might still need you. Keep or let go of each
help Print this message or the help of the given subcommand(s)
Flag Description
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help (see a summary with ‘-h’)

Add a to-do from a message yourself

mxr todo add [OPTIONS] --from <MESSAGE_ID> --title <TITLE>
Flag Description
--from <MESSAGE_ID> The message it’s about
--title <TITLE> What to do, starting with the verb: “Send the signed form”
--due <DUE> When it’s due: “fri”, “9 oct”, “in 2w”
--kind <KIND> bill, renewal, sign, rsvp, promise, other, … (default other)
--dry-run
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

The first run’s one-time catch-up: things from before mxr sorted your mail that might still need you. Keep or let go of each

mxr todo catchup [OPTIONS]
Flag Description
--keep <TODO_ID> … Keep these: they join the runway and are yours from then on
--let-go <TODO_ID> … Let go of these: they join the Expired list
--let-go-all Let go of everything still in the catch-up
--undecide <TODO_ID> … Put rows you kept or let go back in the catch-up, undecided
--dry-run Show what would change without changing anything
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

Not a to-do: kept as a correction and never shown again

mxr todo dismiss [OPTIONS] <TODO_ID>...
Flag Description
<TODO_ID> …
Flag Description
--dry-run
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

Tick off to-dos

mxr todo done [OPTIONS] <TODO_ID>...
Flag Description
<TODO_ID> …
Flag Description
--dry-run Show what would change without changing anything
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

Correct a to-do: title, due, amount, counterparty or kind, as field=value. The row is yours from then on

mxr todo edit [OPTIONS] <TODO_ID> <FIELD=VALUE>...
Flag Description
<TODO_ID>
<FIELD =VALUE>…
Flag Description
--dry-run
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

The runway (the default), or every row in one state

mxr todo list [OPTIONS]
Flag Description
--expired The Expired list: rows past their window or let go. Undo restores one
--state <STATE> Every row in this state instead of the runway [possible values: open, done, dismissed, expired]
--limit <LIMIT> Rows to list with –expired or –state [default: 200]
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

Show a to-do on your own date (“mon 9am”, “in 3d”, “fri”). The due date stays as it is

mxr todo snooze [OPTIONS] <TODO_ID> [WHEN]...
Flag Description
<TODO_ID>
[WHEN] … When it should show up
Flag Description
--clear Go back to the date mxr worked out
--dry-run
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

Reopen to-dos you ticked off, marked not a to-do, or that expired. A reopened row is yours: it never expires again

mxr todo undo [OPTIONS] <TODO_ID>...
Flag Description
<TODO_ID> …
Flag Description
--dry-run
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help

Where each field of a to-do came from: schema.org, a pattern in the email, the lead-time table, a model, or you

mxr todo why [OPTIONS] <TODO_ID>
Flag Description
<TODO_ID>
Flag Description
--account <ACCOUNT> Limit to one account; the default covers every account
--format <FORMAT> [possible values: table, json, jsonl, csv, ids]
-h, --help Print help