NOTICE
This is org-gtd 3.0.0.
Check documentation in doc/ (and the info manual within emacs itself) if you’re upgrading. Please report all defects as Github issues.
Use existing tags if you’d rather stick to a pre-3.0 version.
Sponsorship
I’ve put many hours of reading, research, and coding, to put this together. If it delivers value to you, helps you manage your life, please consider sponsoring (Github sponsors or Patreon) and allowing me to continue putting work into this package and other projects.
Org GTD
This package tries to replicate as closely as possible the GTD workflow. This package assumes familiarity with GTD.
This package provides a system that allows you to capture incoming things into an inbox, then process the inbox and categorize each item based on the GTD categories. It leverages org-agenda to show today’s items as well as the NEXT items. It also has a simple project management system, which currently assumes all tasks in a project are sequential.
For a comprehensive instruction manual, see the documentation:
- Either the info file (within emacs,
C-h i m org gtd RET
) - or in the doc/ directory of the repository, there is a
.org
file you can peruse.
The documentation also details how to upgrade from one version to another.
Whirlwind tour of the package
What follows is an incomplete description of the package. It is useful if you just want to take it for a test run. Read the full documentation for the full set of features and customizability.
GTD Meta
Modes:
org-gtd-mode
- If you want to be able to refresh the org-agenda views and have all the
org-gtd
files included in yourorg-agenda-files
, you’ll need this to be enabled.
Customizable variables:
org-gtd-directory
- Directory where org-gtd will look for its files
org-gtd-areas-of-focus
- List of strings representing Horizon 3. See Steps 4 and 6 for further details.
GTD Step 1/6 : Capture
Functions:
org-gtd-capture
- A wrapper around
org-capture
. Use it to capture items into the GTD inbox. Will create the inbox file if it does not exist.
Customizable variables:
org-gtd-capture-templates
- Defines behavior for
org-gtd-capture
.
GTD Step 2/6 : Process
Functions:
org-gtd-process-inbox
- Start a loop around step 3 (Clarify) for every item in the inbox.
GTD Step 3/6 : Clarify
Functions:
org-gtd-clarify-item
- Call this from any org heading to clarify this item as a one-off and organize it into org-gtd.
org-gtd-clarify-agenda-item
- Call this from any item in the agenda to clarify this item and organize it into org-gtd.
org-gtd-clarify-switch-to-buffer
- Call this to switch back to any existing clarify buffer. Use this instead of switching back through the normal flow, as this manages some state.
Keymaps:
org-gtd-clarify-map
- Sparse keymap for minor mode used in the clarify buffer.
GTD Step 4/6 : Organize
Functions:
org-gtd-organize
- Pop up a menu asking how to organize (e.g. single action, appointment, etc.) the item at point. Great function to bind on
org-gtd-clarify-map
.
Hooks:
org-gtd-organize-hooks
- Series of functions that get called to decorate each item (e.g. org tags, org effort, etc.). Add
org-gtd-set-area-of-focus
to this one to set areas of focus on each item.
GTD Step 5/6 : Engage daily
Functions:
org-gtd-engage
- Your daily view.
org-gtd-engage-grouped-by-context
- All NEXT actions, grouped by tags beginning with
@
. This may not work if you removeorg-set-tags-command
fromorg-gtd-organize-hooks
.
GTD Step 6/6 : Review
Functions:
org-gtd-oops
- Show all the missed appointments. Oops!
org-gtd-review-area-of-focus
- Show an agenda view designed for one of your areas of focus.
org-gtd-review-stuck-*
- The
*
here is any of the action types; you can find any of the ones that have fallen through the cracks.
Directory tree
dev
- used as a jail environment. Copy somewhere else and spin up with
$ HOME="dev/" emacs
. doc
- where the documentation lives
test
- where the tests are
Community
If you want help, you can open an issue right on Github.
You’re also welcome to join my discord server for all conversations related to org-gtd in particular and GTD in general. Many of the ideas for org-gtd came out of my reading the GTD book, and then reading some sections multiple times, but I am in no way an expert. Defining the GTD domain, which is to say, getting to clear nomenclature with clear actions, is still a work in progress.