LinuxCommandLibrary

task

Manage and synchronize todo list tasks

TLDR

Add a new task which is due tomorrow

$ task add [description] due:[tomorrow]
copy

Update a task's priority
$ task [task_id] modify priority:[H|M|L]
copy

Complete a task
$ task [task_id] done
copy

Delete a task
$ task [task_id] delete
copy

List all open tasks
$ task list
copy

List open tasks due before the end of the week
$ task list due.before:[eow]
copy

Show a graphical burndown chart, by day
$ task burndown.daily
copy

List all reports
$ task reports
copy

SYNOPSIS

task [options] [command] [filter] [arguments]

PARAMETERS

add
    Adds a new task to the task list.

list
    Lists the tasks that match the specified filter.

show
    Shows all the configuration.

next
    Shows the next actionable tasks.

done
    Marks a task as done.

status
    Show a histogram of tasks state.

version
    Displays the Taskwarrior version.

help
    Show help text.

config
    Manage Taskwarrior configuration.

export
    Export tasks in JSON format.

import
    Import tasks from JSON format.

edit
    Edits a task's attributes.

delete
    Deletes task(s)

log
    Add task to log (done and track activity)

modify
    Modify attributes of existing tasks.

info
    Show information about task.

UUID
    Can be used to specify the task which will be affected by the command

FILTER
    Can be used to limit which tasks will be affected by the command. For example: project:Home AND status:pending

DESCRIPTION

Taskwarrior is a command-line task manager that encourages you to organize your tasks effectively. It allows you to add, modify, prioritize, and track tasks with various attributes like due dates, projects, tags, and dependencies. It provides rich filtering and reporting capabilities to view tasks based on custom criteria.

Taskwarrior aims to be highly customizable and extensible through the use of hooks and extensions. It stores its data in plain text files, making it easy to backup and manage. It offers a powerful, yet flexible and efficient, way to organize and complete your tasks.

CAVEATS

Taskwarrior's command-line interface can have a steep learning curve initially. Proper configuration and understanding of filtering syntax are required to fully utilize its capabilities.

CONFIGURATION

Taskwarrior relies on a configuration file, typically located at ~/.taskrc. This file contains settings that customize the behavior of the application, such as default values for attributes, color schemes, and data directory location. You can modify this file directly or use the config command.

FILTERS

Filters allow you to select a subset of tasks based on specific criteria. They are used extensively in commands like list, next, and export to narrow down the scope of the operation. Filters are constructed using logical operators (AND, OR), parentheses, and attribute comparisons (e.g., project:Work AND due:

SYNCHRONIZATION

Taskwarrior supports synchronization with remote servers, allowing you to keep your tasks synchronized across multiple devices. This feature requires configuring a synchronization service and using the sync command.

HISTORY

Taskwarrior was created to provide a flexible and powerful task management solution for command-line users. It has been actively developed and maintained over the years, gaining popularity within the developer and productivity communities. Its design has been influenced by other command-line tools and task management methodologies, aiming to provide a balance between simplicity and feature richness. It's still actively maintained.

SEE ALSO

at(1), cron(8)

Copied to clipboard