Most projects need organization. There exists a bunch out there, from the post-its laying on the desk to a huge kanban spanning the whole chain of supply. With code¸I find using the same layout as the project is pretty practical: when digging deeper inside it, you get more relevant information, tagging these closer to the source. So using a directory based scheduling system is pretty useful in this case.
One much needed feature for me was also the interface: it has to be command line based. I wanted to be able to create/edit/delete a task as easily as a commit.
Here comes devtodo, a simple yet useful todo system fitting these criteria. In there, todo can be hierarchical, linked with other todo database, prioritized and such.
When installing it, you get a few binaries:
todo: show the list of current task
tda: add a new task
tde: edit a task
tdd: tag a task as done
And now for an example use.
$ mkdir devtodo-example && cd devtodo-example && git init $ tda -p 2 write a blogpost about it # add a new todo item with id 1 and high priority $ tda -g 1 explain graphing # add a new item graphed under the first one $ mkdir subdir && cd subdir && tda show linking another todo database && cd .. $ tda --link subdir/.todo $ tdd 1.1 # tag item as done $ todo 1.write a blogpost about it - 1.explain graphing 2.subdir 1.show linking another todo database