-
Notifications
You must be signed in to change notification settings - Fork 0
Viewing and using the todu list
Running todu without any subcommands will list all the todo items in your current project. the project is determined by:
- if the
--globalflag is present, the $HOME directory - if in a git repo, the git project root
- otherwise, the current working directory
note: the
--globalflag can be used with virtually anytodusubcommand to use the 'global' project.
> cd my-project
> todu
╭───┬────┬─────────────────────────────┬─────────┬──────────┬────────────╮
│ # │ id │ title │ status │ priority │ due │
├───┼────┼─────────────────────────────┼─────────┼──────────┼────────────┤
│ 0 │ 2 │ do something more important │ pending │ medium │ in 2 days │
│ 1 │ 1 │ do something important 0/2 │ pending │ low │ in a day │
│ 2 │ 3 │ do something... │ pending │ │ in 5 hours │
╰───┴────┴─────────────────────────────┴─────────┴──────────┴────────────╯note: the items in the todu table are automatically sorted by priority
The todu command produces a simplified view of the project's todo list. This is hinted at by the final characters of todo 1 and 3 (going by ID not index). The ... in the title of todo 3 indicates that the item has an associated description. And the 0/2 in the title of todo 1 indicates that the item has two subtasks that are unfinished.
We can use todu get to see a more descriptive view.
> todu get 3
╭─────────┬─────────────────────╮
│ id │ 3 │
│ title │ do something │
│ status │ pending │
│ due │ in 5 hours │
│ desc │ something something │
│ source │ local │
│ created │ 14 minutes ago │
╰─────────┴─────────────────────╯
> todu get 1
╭──────────┬──────────────────────────────────────╮
│ id │ 1 │
│ title │ do something important │
│ status │ pending │
│ priority │ low │
│ due │ in a day │
│ │ ╭───┬────┬───────────────┬─────────╮ │
│ subtasks │ │ # │ id │ title │ status │ │
│ │ ├───┼────┼───────────────┼─────────┤ │
│ │ │ 0 │ 4 │ finish task A │ pending │ │
│ │ │ 1 │ 5 │ finish task B │ pending │ │
│ │ ╰───┴────┴───────────────┴─────────╯ │
│ source │ local │
│ created │ 17 minutes ago │
╰──────────┴──────────────────────────────────────╯Each todo item starts out with their status as pending. The table below shows how to update the status to help you keep track of your todos.
| Status | Command | Description |
|---|---|---|
| In Progress | todu start <id> |
starting to work on this task |
| Paused | todu pause <id> |
taking a break from this task to focus on another one |
| Stopped | todu stop <id> |
stopping this task, no longer pursuing it |
| Done | todu done <id> |
finished this task |
| Pending | todu reopen <id> |
stopping progress on this but will revisit later |
If a todo item has subtasks then its status is determined by its subtasks. If any subtasks are in progress then the parent task is also in progress. If all subtasks are done, then the parent is in review. A parent task that is in review can then be marked complete with todu done <id>.
Items marked as done or stopped are automatically archived. These items will then be hidden when using the bare todu command. You can view them with todu --all. If for some reason you need to revisit a todu item, you can use any of the aforementioned status commands to do so.