Skip to content

Todos

Todos are actionable tasks with built-in time tracking. They go through a lifecycle from sketch to completion, with automatic timer management on status transitions.

Entity Fields

FieldTypeDescription
idTodoIdBranded numeric ID
raw_inputstringOriginal input text
titlestring | nullEnriched title (starts with a verb)
statusTodoStatusCurrent status
prioritystring | nulllow, medium, high, critical
due_datestring | nullISO date (YYYY-MM-DD)
goal_idnumber | nullLinked goal
enrichment_statusEnrichmentStatusraw or enriched
created_atstringISO timestamp
updated_atstringISO timestamp

Time Tracking

Todos have session-based time tracking stored in the todo_time_entries table. Each time entry records a work session with started_at and stopped_at timestamps.

How it works:

  • Transitioning to in_progress starts a timer (creates a time entry)
  • Transitioning to paused, done, or cancelled stops the active timer
  • Closing the terminal leaves the timer running (it's a DB timestamp, not a process)
  • Total elapsed time is computed as the sum of all sessions
  • Multiple todos can have running timers simultaneously

Interactive TUI: rmbr todo list opens an Ink-based interactive terminal UI with:

  • Arrow keys to navigate, Enter to start, Space to pause/resume, d for done, q to exit
  • Status filtering (keys 1-5) and priority cycling (key p)
  • Live elapsed time counter for the active task
  • Use --ai flag for plain text output (for AI agents or scripts)

Status Transitions

sketch --> ready --> in_progress --> done
                       |       \-> cancelled
                       v
                     paused --> in_progress
                       \------> cancelled
FromTo
sketchready, cancelled
readyin_progress, cancelled
in_progresspaused, done, cancelled
pausedin_progress, cancelled

done and cancelled are terminal statuses.

CLI Commands

CommandDescription
rmbr todo addCreate a new todo from raw input
rmbr todo listInteractive TUI (default) or plain text (--ai, --status, --overdue, --due-today)
rmbr todo showShow a todo with time tracking sessions and total elapsed time
rmbr todo startStart working (transitions to in_progress, starts timer)
rmbr todo pausePause (auto-detects active timer if no id given)
rmbr todo doneMark as done (shows total time spent; auto-detects active timer)
rmbr todo cancelCancel a todo
rmbr todo deleteSoft-delete a todo
rmbr todo restoreRestore a soft-deleted todo
rmbr todo enrichEnrich a todo with structured fields

MCP Tools

ToolDescription
rmbr_todo_createCreate a new todo; accepts optional enrichment fields
rmbr_todo_listList todos with filters; includes total_elapsed_seconds per todo
rmbr_todo_getGet a todo with session history and total elapsed time
rmbr_todo_transitionTransition a todo (auto-manages timers on start/pause/done/cancel)
rmbr_todo_estimateReturns completed todos with actual duration for LLM-assisted estimation
rmbr_todo_deleteSoft-delete a todo
rmbr_todo_restoreRestore a soft-deleted todo
rmbr_todo_enrichEnrich a raw todo with title, priority, due date, goal

Released under the MIT License.