A task management tool that stores tasks as markdown files with properties in their front-matter.
pip3 install git+https://github.com/mtoohey31/taskmatter.git#egg=taskmatter
See releases for shell completion files.
All task properties are stored under the _tm
key in the markdown file's YAML front-matter, which includes an underscore in an attempt to indicate that the key should not be modified by other programs, using Python's private variable syntax.
Property | Significance | Data Type |
---|---|---|
planned |
The date you plan to complete the task by. | String |
due |
The date on which the task is due. | String |
done |
Whether the task is finished | Boolean |
Command | Abbreviation | Result |
---|---|---|
week |
w |
List all tasks planned or due this week. |
month |
m |
List all tasks planned or due this month. |
someday |
s |
List all tasks with no planned or due date. |
add |
a |
Add a new task with the specified name and properties. |
edit |
e |
Edit the task(s) with the specified id or path. |
rename |
r |
Rename the task with the specified id or path. |
delete |
x |
Delete task(s) with the specified id or path as done. |
done |
d |
Mark the task(s) with the specified id or path as done. |
Note that week
is the default subcommand, so when taskmatter
is run with no arguments, it will behave identically to taskmatter month
.
Tasks are structured as markdown files in specific directories on purpose so that git can be used to sync the tasks within an existing repository. As of now, the recommended syncing method is to manually manage a git repository of the folder where the tasks are stored.
- Typing
taskmatter
every time is a bit much, so aliasing it to something shorter such astm
ort
in your shell's startup file will likely speed up your workflow.
Check out dstask and its alternatives list.