keep track of what you're doing right now and what you've worked on before


Build Status MELPA License Flattr This

Inspired by doing, a set of functions for keeping track of what you’re doing right now.

How it works

Creates a file in your home directory (or wherever org-doing-file points to). The file has two sections: now and later. The now section lists things you are currently working on. The later section lists things you want to work on later.

Use it

Org-Doing Functions

Log what you’re doing now:

M-x org-doing-log

Log what you’re doing later:

C-u M-x org-doing-log

Log something you’ve already done:

M-x org-doing-done

Mark your most recent TODO as DONE:

M-x org-doing-done
(don't enter anything and press Enter)

Org-Doing Omni Function

The omni function lets you enter short-hands at the beginning, making it very quick to use org-doing:

M-x org-doing
now reviewing email, getting ready for a nap. seriously

The “now” is parsed and the org-doing-log function is called with the rest of the string. It’s the same as doing this:

M-x org-doing-log
reviewing email, getting ready for a nap. seriously

This is also works for later and for done:

M-x org-doing
later adding more cool features to org-doing mode

M-x org-doing
done added something simply amazing to org-doing mode

M-x org-doing

From The Bash Command-Line

You can also use org-doing from the command line by defining the ORG_DOING_PATH environment variable to the location of org-doing.el and by sourcing org-doing.bash:

source /path/to/org-doing.bash
doing now awesome stuff
doing later more awesome
doing done something cool
doing done

Hacking on org-doing

Start by installing all the dependencies in the Caskfile:

cask install

We use GNU Make for running unit tests, feature tests and for installing org-doing.

Run the tests:

make test
make unit # run the unit tests using ERT
make ecukes # run the feature tests using ecukes

ERT is the Emacs Lisp Regression Testing framework. Ecukes is an implementation of Cucumber/BDD. El-mock is used for mock objects/stubbing in the unit tests.

Unit tests are in the test/ directory. Higher level/integration/functional specs are in the features/ directory.


  • Adrien Becchis @AdrieanKhisbe
  • Bjarte Johansen @ljos
  • Greg Lucas @glucas
  • Rudolf Olah @omouse
  • Steve Purcell @purcell
  • Syohei YOSHIDA @syohex

Related Repositories



keep track of what you're doing right now and what you've worked on before ...



A list of women doing great data things on Twitter (started here: ...



Doing something with the data from ...



Script that gives feedback on how you are doing in your Org-mode todos ...