https://github.com/mtoohey31/taskmatter
A task management tool that stores tasks as markdown files with properties in their front-matter.
https://github.com/mtoohey31/taskmatter
cli frontmatter git markdown tasks todo
Last synced: about 2 months ago
JSON representation
A task management tool that stores tasks as markdown files with properties in their front-matter.
- Host: GitHub
- URL: https://github.com/mtoohey31/taskmatter
- Owner: mtoohey31
- License: apache-2.0
- Created: 2021-05-04T15:18:41.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2024-05-07T18:35:07.000Z (about 2 years ago)
- Last Synced: 2025-01-09T09:48:09.744Z (over 1 year ago)
- Topics: cli, frontmatter, git, markdown, tasks, todo
- Language: Python
- Homepage:
- Size: 51.8 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# taskmatter
A task management tool that stores tasks as markdown files with properties in their front-matter.

## Task Properties
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](https://docs.python.org/3/tutorial/classes.html#private-variables).
| 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 |
## Commands
| 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 `month` is the default subcommand, so when `taskmatter` is run with no arguments, it will behave identically to `taskmatter month`.
## Syncing
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.
## Suggestions
- Typing `taskmatter` every time is a bit much, so aliasing it to something shorter such as `tm` or `t` in your shell's startup file will likely speed up your workflow.
## Alternatives
Check out dstask and its [alternatives list](https://github.com/naggie/dstask#alternatives).