DevTodo2 is a command-line task management utility. Tasks are hierarchically organised, have priorities, and track creation and completion time.
Task lists are stored in the current directory as the file
For much more complete information please refer to the man page (todo2(1)).
DevTodo2 is written in Go. To install, you will need Go 1 or a release candidate.
Once you have Go installed and your
GOPATH set, do the following:
$ go get gopkg.in/alecthomas/kingpin.v2 $ git clone git://github.com/alecthomas/devtodo2.git $ cd devtodo2 $ make $ [sudo] make install
This will install to
/usr/local by default, but that can be overridden by
make. The installation directories can be
further customized by setting
man1dir=<dir> which default to
NOTE: You can also install with:
$ go get github.com/alecthomas/devtodo2
But the binary will be named
devtodo2 and the man page will not be
If you want to uninstall, do the following:
$ cd devtodo2 $ [sudo] make uninstall
|Add a new task||
|Add a new sub-task below task 1||
|Add a new sub-task below subtask 1.1||
|Remove a sub-task below subtask 1||
|List outstanding tasks||
|List all tasks||
Yes, this is version 2. Version 1 was written in C++ in 2004, and has been due for a rewrite for a very long time.
Differences between version 1 and 2
- Task lists are now stored as JSON.
- Everything is a lot faster.
- Much less code.
Not currently supported:
- Readline-based editing of task text and priority.
- Filters. Completed tasks are hidden by default, but may be displayed with
- Linked files.
- Colour customisation.
- Custom task formatting.
How do I import my version 1 task lists?
DevTodo2 will load your old
.todo files automatically. If you modify the
task list with DevTodo2 it will transparently migrate the file to
the new format.
You can specify the version 1 filename to load with
--legacy-file=<filename>, and the version 2 filename with