Really basic project tracking

Lazyweb: I currently do this with a notebook (yeah, an actual paper one; I’m not sure why I don’t just write things into a text file; I have in the past). But is there a program in existence which will let me do this?

$ whatever --list-my-current-projects
metacity
fusa
workproject1
workproject2

$ whatever --start-working-on fusa

(does some work)

$ whatever --log "working on consolekit integration"

(time passes)

(gets interrupted)

$ whatever --what-the-heck-was-i-doing
working on consolekit integration

(time passes)

$ whatever --log "fixing GetWomble()"

(time passes)

$ whatever --stop-working-on fusa

$ whatever --what-have-i-worked-on-today
2007-12-22: 18:00-18:30 - fusa (30 minutes)

I know it would be pretty trivial to write; I just wondered whether it existed already so that I didn’t have to. (If it exists many times over, do you have recommendations?)

(Beyond that, it would be good to have sub-projects/sub-goals which you could mark done and so on.)

(Commit message and twitter integration would be further fun extensions.)

(Many responses received, which are getting their own post.)