A bunch of ELisp functions for project planning, tracking and general productivity enhancement. The name is a play on ‘tech-trees’ found in RTS games.
Add this to your Emacs config:
(add-to-list 'load-path "path/to/pt.el")
(require 'pt)
At the moment you can only generate pretty graphs using Graphviz:
(setq goals
(pt '(idea "Rough idea" () done)
'(tests "Manual viability tests" (idea) done)
'(prototype "Working prototype" (idea) done)
'(docs "Better docs" (prototype) started)
'(emacs-mode "Dedicated Emacs mode" (prototype))
'(full-docs "Full docs" (docs))
'(org-mode "Org-Mode integration" (prototype))
'(finished "Finished tool" (full-docs org-mode emacs-mode))))
(pt->png goals "path/to/file.png")
…resulting in:
Here different colors have different meaning - green nodes represent goals that have been reached, blue ones have been started, black ones are next in line while gray ones should probably be left alone for the time being.
Here’s how it’s supposed to work. You start with some general idea of your upcoming project by setting different goals:
Next, you identify interdependencies between your goals:
The idea is to pursue your goals in order that makes sense without distracting yourself with tasks further down the line (if you’re anything like me you know what I’m talking about), all while giving you just enough choice of what to do next. Now, we’ve reached the first goal - laying out the rough idead of Project Trees:
…and after some manual tests and an evening coding session you finally reach a somewhat broad choice between documenting the idea, integrating it with other tools or adding more features. That’s the magic. Instead of doing what’s fun you are supposed to do what’s right for the project in the long run:
Project Trees will help you stay focused by tracking available goals, all you need to do is follow your dreams.