open core »

Nodo, the simple command line task manager

Nodo is a command line task manager, and I love it! Why? Mainly because I developed it, second, it does exactly what I needed from a TODO app: it’s simple, easy and of course, it’s on the command line.

I spend most of the time on the command line (I’m even writing this post on it with Vim) so it comes natural the fact that I needed to find a task management application that has a CLI, avoiding the constant switch from keyboard to mouse and vice-versa. But still, I used Wunderlist, an awesome mac/windows/iphone/android TODO app, that was lacking such interface.

But there are already command line task managers!

Yes it’s true. I’m not going to mention them all, but let’s just say that none of them met my criteria. Some where too simple, some were just too complex (like TODO.txt) with tons of commands and options. Also, none of them supported my current Wunderlist database.

So I developed one task manager that suited my needs.

In Node.js? But I thought that Node.js was only good at X

Well, it turns out that Node is actually pretty good at allot of stuff. Including command line apps. But I have to agree that it’s not the best choice because there are no advantages in having non-blocking IO in this kind of app. But since I’ve been learning allot of Node lately, I really wanted to put in practice all my newly aquired skills. Also, NPM is a great package manager, and it’s ridiculously easy to publish new packages with it, not mentioning that it’s very interesting the fact that it’s entirely written in CouchDB.

Ok, so how does Nodo work?

It’s pretty simple. It has an NPM package, so you can install it with the npm command, just like this:

$ npm install -g nodo

A few seconds later, Nodo will be installed on your machine.

After install, Nodo comes with a default list called “inbox”. This list is where you should put all the tasks that you are not sure in which list to put them. So, to add a task to the inbox list just type the following:

$ nodo add inbox go shopping

Later, you decide to organize your tasks, so let’s create a list called “home” to contain all the home related tasks:

$ nodo add list home

And now, you can move your shopping task to this new list. Assuming that the shopping task has id 3:

$ nodo move 3 home

After you go shopping you can mark this task as done:

$ nodo done 3

This is just the Nodo basics. For the full usage instructions I recommend watching the screencast below, or visiting the Nodo page on Github.

Currently Nodo does not support adding/editing task notes, or setting a task as important, but these are all just features that are coming in the near future. Feel free to suggest features and/or fixes.