up:: [[Computing MOC]] tags:: #note/develop #on/pkm # Taskwarrior [Taskwarrior](https://taskwarrior.org/) is a free and open-source task management program that allows you to track your TODOs from the command line. ## Useful Commands | Command | Description | | ----------- | -------------------------------------------------------------------- | | `next` | Shows a report that lists tasks in decreasing order of urgency | | `show` | Displays current configuration settings | | `config` | Used to modify the `.taskrc` file | | `add` | Creates a new task | | `done` | Marks a task as complete | | `delete` | Marks a task as deleted (does NOT remove the task from the database) | | `modify` | Updates a task | | `log` | Add a task that's already been completed | | `completed` | Shows completed tasks | | `annotate` | Adds a one-line note to a task | | `denotate` | Removes an annotation from a task | ## Useful Modifications | Modifier | Type | Description | | ---------- | ------ | -------------------------------------------------------------- | | `project` | String | The project that a task belongs to | | `due` | Date | The task's due date | | `priority` | String | A task's priority | | `wait` | Date | Hides a task from reports until the given date | | `until` | Date | The date to automatically delete a task if it is not completed | ## Useful Filters Show tasks completed in the last week: ``` task end.after:today-1wk completed ``` ## Workflow Ideas - Only add new tags after careful consideration - Use `scheduled` dates - Use `until` to auto-delete overdue tasks - Remember to break things down into projects and subtasks - Have a UDA to represent a task's importance - Have another UDA that represents a task's importance:urgency ratio - Don't over-use priorities - Use contexts - Homelab - Dev - Home - Use a [script](https://randomgeekery.org/post/2020/01/a-quick-notes-script-for-taskwarrior/) for attaching notes to tasks - Use `tasksh` for reviewing tasks - UDAs - Importance - Cognitive load - Location - Delegated - Custom reports - Inbox - Information associated with a task: - ID - Description - Project - Tags - Urgency - Due Date - Wait Date - Scheduled Date - Importance - Cognitive Load - Location - Status (Not started, active, paused, delegated) - Time Spent - Reviews - Daily - Weekly - Monthly - Yearly ## Tips - The `next` report is sorted by urgency - The more information you add to your tasks, the more accurate the `next` report becomes - The more information you add to your tasks, the more urgency that is added to them - Play with the urgency coefficients to better reflect your specific situation - To remove a project, due date, etc, from a task: just add an empty one to it - Think about urgency vs. importance - Context does not affect task creation ## My Personal Taskwarrior Setup ### Priorities | Priority | Description | | -------- | --------------------------------------------- | | H | I am (or want to be) working on it right now. | | M | I want to work on this soon. | | L | I want to work on this eventually. | | None | I haven't thought about it. | ### Tags What do tags represent? | Tag | Description | | ----------- | -------------------------------------------- | | `in` | Task is in the inbox (has not been reviewed) | | `important` | Whether a task is considered important | ### UDAs | UDA | Description | Possible Values | | -------------- | ------------------------------------------------------- | ----------------------------------- | | Cognitive Load | How much mental energy is required to complete the task | H, M, L, \<blank> | | Location | The physical location where the task must be completed | Home, Office, Phone, Computer, etc. | | Delegated | Who the task has been delegated to | Any person's name | ### Projects Projects follow the naming scheme `AREA.PROJECT.SUB-PROJECT`, where `AREA` is the area of life that a task relates to (for example: hobbies, home, finances, career, etc.). ### Contexts | Context | Description | | --------- | -------------------------- | | `dev` | Software development tasks | | `home` | Home-related tasks | | `homelab` | Homelab tasks | # References - Taskwarrior documentation: https://taskwarrior.org/docs/ - Random Geekery - Taskwarrior: https://randomgeekery.org/post/2017/12/taskwarrior/ - Random Geekery - Taskwarrior Priorities: https://randomgeekery.org/post/2017/12/taskwarrior-priorities/