TaskWarrior is a fantastic cli todo-list manager. I usually tend to use minimalistic tools, but sometimes the best option is one that has every feature you could possibly need. Setting due dates, priorities, adding notes and a ton of other task-related things are simple once you know the syntax.
You probably won’t use every feature in the tool every day, but it’s easy enough to type “task help” and find what you need. There are a lot of ways to filter the commands and get exactly what you want from each command. Analyzing your progress on different projects or just your progress in general is easy with TaskWarrior’s analytical options.
Using TaskWarrior is simple. Type “task” and get a list of what you need to do. The list is sorted based on each task’s “urgency”. This is calculated taking into account the task’s due date, priority, age, and whether or not it has been started. It’s also color coded to indicate what has been started, tasks with different priority levels, what’s due soon, due today, or overdue. If you want to know what to do next, it’s easy to type “task” and glance at the top of the list. If you tell TaskWarrior you’ve finished a task which is less important, it’ll even tell you that and inform you that you have more important things to do.
Adding a task is easy too. All it takes is typing “task add” and a description of what needs to be done. Other modifiers can be used, such as project:, due: and priority: to change the importance of the task and give more information about it. To mark it as done, just enter “task id done” (using a task’s id number as id). Made a mistake? “task undo”.
Projects are very useful for keeping track of different categories of tasks. I haven’t used tags very much in TaskWarrior, but projects are very nice to have. When a project is changed (a task belonging to a project is added, started or finished) a percentage of how many tasks have been completed in the project is given. It’s handy for keeping track of how far along you are in a certain category of tasks. For example, if you want to go to start reading more often you might set a recurring task to read another chapter of X, a task to buy Y and one to check the price of Z under a project called reading. Tomorrow night you read the next chapter of X and check that price of Z. When you mark them as done in TaskWarrior it would tell you that you have completed 66% of the project. When keeping track of multiple projects, I have found that the “task summary” and “task projects” commands are useful.
The only thing missing is an Android app. Even though I don’t spend too much time away from my computer, I’d like to check my tasks on the go.
- ZSH is useful for its ability to edit commands easily using Vim or Emacs keyboard commands.
- Alias “task” to “t” for faster usage.
- Shorten TaskWarrior commands. pro:foo is the same as project:foo, cal is the same as calendar, etc.
- “task help” will tell you everything.
You can find TaskWarrior at taskwarrior.org