They say pen and paper is the best way to manage a todo list. Following the popular norm, I also started tracking my todos with pen and paper. But after several unsuccessful attempts of finding a pen or deciphering tasks from torn or soaked paper, I felt keyboard and the pixel-screen would be more accessible than the traditional method. Without relying on any sophisticated applications I relied on the most simple form - plain-text. It was better, but after being inspired from efforts like todo.sh and todo.pl, I thought of coming up with a small command line utility of my own.
Enter todo gem!This resulted in coding my first ruby gem - todo. It is just a simple command line utility for managing todos. I didn't want to loose the flexibility offered by plain-text lists, hence it will use human readable YAML form, to store the lists. This enables you to use your favorite text editor to edit these todo lists. Further it supports tags. You could list the tasks by tags, thus making things smart and easy.
Todo gem will run specific to a directory. This enables to keep different task lists in each directory. For example, I keep a todo list in my 'home' directory which holds all my housekeeping stuff and then I have separate lists for each project I work on in their respective directories. This separation allows better organization of the things to be done.
ExampleHere is a basic example of how todo gem works:
#visit your project folder cd projects/newapp #create a new todo list for the project todo create #add a new task todo add "write the specs" - add tags : important, due:24/08/2008 #listing all tasks todo list --all #listing tasks tagged 'important' todo list --tag important #removing a task by name todo remove "write the specs" #removing a task by index todo remove -i 1
Get it!To install todo gem in your machine simply run;
sudo gem install todo
Also the code of the gem is hosted in github, so you could fork and flip it in the way you want (and don't forget to send me a pull request).