task

Set up the configuration file:

1task

Add a task:

1task add update linux

See which task is next:

1task next

Note the id number.

Mark a task as started:

1task start 1

Once finished:

1task 1 done

Projects

Add a project:

1task add project:house buy potted plant
2task add proj:house.repair buy screwdriver
3task add proj:house.repair buy shelf brackets
4task add pro:house.paint buy white paint
5task add pro:house.paint buy red paint
6task add pro:house.paint buy black paint
7task add pro:house.paint buy brushes

Summary

1task pro:house sum
1task burndown.daily pro:house

The summaries will show how fast a project is being completed, and when you can expect it to finish at the present rate.

Tags

1task add +buy toothbrush

You can then see only tasks which involve buying something with:

1task +buy

Contexts

Set three contexts by their tags:

1task context define work +sa or +hr
1task context define study +ed or +void or +rat
1task context define home -sa -hr -ed -void -rat

Change to the first context.

1task context work

Then stop.

1task context none

Review

View list of tasks completed in the last week:

1task end.after:today-1wk completed

User Defined Attributes

Make a UDA 'size'.

1task config uda.size.type string
1task config uda.size.label Size
1task config uda.size.values large,medium,small
1uda.size.default=medium

Tricks

This command shows tasks I'm most interested in:

1task next +ACTIVE or +OVERDUE or due:today or scheduled:today or pri:H

The command is long, so alias is your friend.