You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Focus-based panel navigation: h/l or arrow keys move focus between panels; j/k navigates queues, tasks, or scrolls detail depending on the focused panel.
Tab and 1-6 cycle or jump to queues from any panel.
Inline task creation with a (title + queue selector via Tab/Shift-Tab).
Edit tasks in $EDITOR with e (suspends and restores the TUI).
Task actions: d done, s start, m move (then pick queue), x delete (with confirmation), r refresh.
Dedicated triage mode with t — cycles through inbox tasks one at a time using the same keybindings as normal mode (plus Space to skip). Shows a summary on completion.
Search mode with / — filters tasks across all queues in real-time.
Sidebar groups queues into sections (active / triage / archive) with visual separators.
"All" virtual view shows every task across all queues.
--no-tui flag to disable the interactive dashboard and show the plain text output instead.
Changed
Extracted shared mark_done logic into app::operations (used by CLI done, CLI triage, and TUI).
Running tqs with a valid config but no tasks now opens the dashboard (where you can press a to add) instead of showing the getting-started guide.
triage command — interactively walk through inbox tasks and dispatch them to queues, mark done, edit, or delete.
doctor now detects orphaned ID-generator state files in .tqs/id-generator/ and warns about them.
doctor --fix removes orphaned state files automatically.
Fixed
Config file paths starting with ~ (e.g. tasks_root = "~/o/tasks") are now correctly expanded to the user's home directory instead of being treated as relative to the config file location.
Complete rework, changed totally the design - it went from a "per project task queue" to a "personal todo list with some optional Obsidian integration". I'm not going to document the changes because it makes little sense; go read the README or ARCHITECTURE if you are interested in the new system.
Fuzzy subcommand expansion now works when boolean global flags (for example -g / --global) appear before the command shorthand, so tqs -g l resolves to list.