Command reference
oko obligations add
Records one obligation with the source that states its date, the cost of lateness, what finishing it needs, who must do it and the leads at which the operator is asked.
Invocation#
oko obligations add --title T --authority A --jurisdiction J --kind K --due YYYY-MM-DD --source URL --penalty TEXT --needs TEXT --owner WHO --lead DAYS... [--overdue-every DAYS] [--every-months N] [--task TASK] [--state open|unconfirmed] --by WHO [--json|--plain]Inputs and options#
- --title, --authority (who it is owed to), --jurisdiction, --kind (tax-filing, tax-payment, retirement-plan, payroll, grant, renewal, regulatory, in the recorder's word), --due YYYY-MM-DD as the authority writes it, --source (the authority's page or the provider's notice that states the date), --penalty (what lateness costs), --needs (what finishing it needs), --owner (who must do it), --lead DAYS repeated (the days before the due date the operator is asked; 0 asks on the day), --overdue-every DAYS (once late, the days between asks; left out, a late obligation is asked about once), --every-months N (the months to the next instance of a recurring one), --task (the Oko task that carries the work) and --state open|unconfirmed (unconfirmed: nobody could read whether it is already done).
- --by names who records it: the operator or the session that read the source. No lead, interval or recurrence is Oko's own: each is declared with the obligation.
Output and state effect#
- Appends the obligation to ~/Library/Application Support/Oko/obligations.json (OKO_OBLIGATIONS_REGISTER moves it) and prints it with its standing.
Refusals and safe exits#
- `an obligation needs at least one --lead: the days before its due date the operator is asked` (exit 2); `an obligation needs --due YYYY-MM-DD` (exit 2); `<text> is not a date written YYYY-MM-DD: <error>` (exit 2); `oko obligations add: --lead takes whole days before the due date, got <text>: <error>` (exit 2); `oko obligations add: --overdue-every takes a positive whole number, got 0` (exit 2); `an obligation is recorded as open or unconfirmed; got <state>` (exit 2); `a recorded obligation needs its title`, `the authority it is owed to`, `its jurisdiction`, `its kind`, `the source that states its due date`, `what lateness costs`, `what finishing it needs`, `who must do it` or `who records it` for a missing or blank value; `oko obligations add requires --by <text>` (exit 2).