Grit: Multitree Task Organizer

I've always kept a little plaintext note file with my TODOs laid out as a tab indented tree. A tree is a pretty natural structure for thinking about work: a root node like "Code Reviews" with each child being a review, and comments to address being children of each review.

Enter grit, a multitree based personal task manager available here. Using grit, you construct a tree of tasks, but each node can have multiple parents. As of the time I'm writing this, the project is still quite new, so there's some rough edges, but the basic concept is so good that I haven't been deterred for using it as my daily task manager.

One unique feature is that grit spawns a new node each day to contain that day's tasks. So far my workflow has been to have a root TODO tree with children for each task type (WIP, reviews, open questions, next items to work on) and link nodes that I intend to complete that day to the daily node for the day. This allows me to see all my tasks by running "grit tree todo," or just the tasks for the day by running "grit". When a task in progress is complete and I open a PR, I can move that link that node to the reviews node and unlink it from WIP.

So far I've found one of the biggest advantage of using grit is that I can see my tasks anywhere on the command line (and I'm now working entirely on the command line), without having to visit a particular text file.