v0.0.3
The TUI release. Lands an interactive docket tui for navigating, mutating, and starting tasks without leaving the keyboard, plus a docket update subcommand for editing tasks in place. The CLI core was extracted into modules along the way (cli/, db/, model/, prompts/, tui/) so the TUI and CLI share a single data layer.
Added
docket tui— interactive terminal UI built on ratatui/crossterm. List/detail panes, filters, help overlay, chord-driven keybindings via a scope-based command registry. Keys:scycles status (open → in_progress → done),dmarks done,xdeletes (with confirm modal),n/eopen Add/Edit forms,Tab/Shift+Tabcycle fields,Ctrl+Ssaves,Escon dirty form prompts to discard,S/Ctrl+Sstart the cursor task (tmux variant for the latter), live per-field validation with placeholder hints.docket update <id>— partial-field updates for title, body, acceptance, deps, priority, and group. Requires at least one field; lazily creates the group if missing; replaces deps exactly; bumpsupdated_at. Covered by integration tests for help, flag presence, deps replacement, group creation, missing id, and multi-field updates.docket start --tmuxupgraded — now creates and attaches a fresh tmux session, spawning a terminal if invoked outside of tmux (T-4). The 0.0.2 implementation only opened a window inside an existing session; this closes the gap for "I just want to start a task in a new pane from anywhere."
Changed
docket addaccepts hyphen-prefixed values (e.g.--body "- bullet") without clap mistaking them for flags.src/main.rsmodularized:cli/(one file per subcommand handler + dispatcher),db/(schema, connection, read-side queries, mutation helpers),model/(Task, Group, parse helpers),prompts/,tui/. The single 750-linemain.rsis now a ten-line entry point.
Tests
- End-to-end tests for
add/update/startagainst the built binary; unit tests pinparse_id,parse_deps,deps_from_db.