Taskwarrior
Open-source CLI task manager with tagging, projects, priorities, recurrence, filtering, extensible hooks and optional sync.

Taskwarrior is a free, open-source command-line task management tool for creating, tracking and reporting TODO items. It emphasizes a flexible, scriptable workflow with powerful filtering, recurrence and dependency features for both simple and complex task setups. (taskwarrior.org)
Key Features
- Command-line first interface with rich filtering and query capabilities (complex boolean filters, custom reports).
- Projects, tags, priorities, due dates, contexts, and user-defined attributes to model diverse workflows.
- Recurring tasks, task dependencies, annotations and history/logging for audit and review.
- Extensible with hooks, scripts and third-party UIs; integrates with a sync/server component (taskd) for multi-device synchronization.
- Cross-platform packaging and source builds with a mature toolchain and ecosystem of extensions and companion projects.
(Features summary derived from official project documentation and repository.) (taskwarrior.org)
Use Cases
- Personal GTD-style task tracking and daily todo management from the terminal.
- Automation and scripting of task workflows (CI hooks, editor integrations, shell scripts).
- Multi-device task synchronization and collaborative workflows via the taskd sync server and compatible third-party clients.
Limitations and Considerations
- No single official first-party graphical UI; most GUIs and web frontends are community projects with varying compatibility and maintenance status.
- Sync and multi-device setups require configuring the separate sync server or third-party hosting, which can add operational complexity.
- The CLI-focused design has a learning curve for users accustomed to GUI-only task apps.
Taskwarrior is a mature, feature-rich CLI task manager with an active community and ecosystem of plugins and frontends. It is best suited for users who want scriptability, fine-grained control and reproducible task workflows from the command line. (github.com)
