Taskwarrior

July 17, 2024 in Tech by Rachit Agrawal3 minutes

What is Taskwarrior ?

  • Taskwarrior is an open-source command-line task management tool that helps you organize and track your tasks and projects.

  • It provides features such as task creation, prioritization, due dates, tags, and filtering options, allowing you to manage your tasks efficiently from the command line interface.

Brief about Taskwarrior with Tomas Babej -> Youtube


Installing Taskwarrior

Official Page

sudo apt-get install taskwarrior

Now goes how to use Taskwarrior?

We will be following this tutorial ->

A Dive into Taskwarrior Ecosystem with Tomas Babej -> Youtube

For Documentation, check out the Taskwarrior Docs


1. Short demo

Adding Tasks ->
task add "Drink Water"
Listing Tasks ->
task
Completing Tasks ->
task [id] done
Deleting Tasks ->
task [id] delete
Check All Tasks ->
task all
Getting info of a task
task [id] info

More Attributes -

1. Tags

Tags are arbitary words associated with a task.

Adding Tags ->
task add +home +college +coding Drink water
Removing Tags ->
task [id] mod -coding

2. Project

Each task can be associated with at most one project.

task add project:Reminders Drink water

Subprojects ->

task add project:Reminders.hourly Clean the Sink

3. Priorities

task add pri:H Drink water

only 3 values H / M / L are supported

4. Annotations

An annotation is a note added to an existing task, and is in the form of a text string. Any number of annotations per task.

task add Go to Gym
task [id] annotate Change Gym timmings to 6am.

5. Dates

  1. Due date - specify the exact date by which a task must be completed.

  2. Scheduled date - represents the earliest oppurtunity to work on a task. (eg: Birthdays)

  3. wait date - represents the earliest opportunity the task should show up on the task list. (dissapears from the task list till that date)(eg: new year resolution)

  4. until date - specifies a date after which the tasks self-destructs

Specifying Dates - Docs

1. Exact ->
task ... due:8/16/2023    [mm/dd/yyyy]
2. Relative Wording ->
task ... due:today
today/yesterday/tomorrow/friday/fri
3. Day number with ordinal
task ... due:24th
24th/3wks/1day/9hrs
4. keywords

start of the week -> sow | end of the week -> eow

task ... due:sow  [start of the week (Monday)]
task ... due:soww [start of the work week]
task ... due:socw [start of the calender week (Monday or Sunday)]
task ... due:som  [start of the month]
task ... due:soq  [start of the quarter]
task ... due:soy  [start of the year]
5. Date arithmetic
task ... wait:due-3d
task ... due:today+3d
task ... due:sow+2d

Other ways of modifying tasks

1. Task edit

task [id] edit

2. Task undo

task undo

3. Task purge

(purges the task forever)(only deleted tasks can be purged)

task [UUID] purge

note

task purge isn’t functional anymore after update 3.0.0


URGENCY DOCS

urgency.user.tag.next.coefficient           15.0 # +next tag
urgency.due.coefficient                     12.0 # overdue or near due date
urgency.blocking.coefficient                 8.0 # blocking other tasks
urgency.uda.priority.H.coefficient           6.0 # high Priority
urgency.uda.priority.M.coefficient           3.9 # medium Priority
urgency.uda.priority.L.coefficient           1.8 # low Priority
urgency.scheduled.coefficient                5.0 # scheduled tasks
urgency.active.coefficient                   4.0 # already started tasks
urgency.age.coefficient                      2.0 # coefficient for age
urgency.annotations.coefficient              1.0 # has annotations
urgency.tags.coefficient                     1.0 # has tags
urgency.project.coefficient                  1.0 # assigned to any project
urgency.user.project.My Project.coefficient  5.0 # assigned to project:"My Project"
urgency.waiting.coefficient                 -3.0 # waiting task
urgency.blocked.coefficient                 -5.0 # blocked by other tasks

Filters and Reports

Filters - DOCS

A filter is a set of command line arguments that specify a set of tasks and filters can range from being simple to very complex.

Reports - DOCS

task <FILTER> <REPORT|COMMAND>

Additioanl Resources