Directory Structure for my Org Instance

Sharing Some Personal Documentation

This blog post is a repurposing of personal documentation for my internal note taking structure using org-mode and org-roam.

Before I get started, I wanted to provide a diagram of my org-directory:

├── fleeting
├── permanent
│   ├── bibliographies
│   ├── cards
│   └── letters
└── projects
    ├── ardu
    ├── hesburgh-libraries
    ├── samvera
    └── thel-sector

I also have a root level file that I use for my daily todo items.

Organizational Concepts (for Me)

Let’s look at the concepts.


Fleeting notes are momentary “flashes”. They may be more than that, but their purpose is to capture the moment. There is an assumed process that will review fleeting notes within two days or so to see if they merit moving to something permanent.

A useful analogy is that these are my sticky notes. I put all of my sticky notes in the same place and can review them at my next convenience.


Permanent notes are of three varieties:


Bibliographies are for cited works. I’ve adopted a "Title" by author format for the “root” object; However, nothing limits me from having multiple bibliographic records for the same book/article (perhaps a citation or passage). I have not went through the rigors of grad school, and my degree is in applied mathematics and computer science, so citations are something that I’ve organically developed.

I haven’t settled on what could be bibliographic citations or cards as it relates to chapters or sub-sections or concepts of a book. For example I filed the chapter “Six Steps to Successful Writing: Separate and Interlocking Tasks (Sonke Ahrens)” in ./permanent/bibliographies yet I filed the sub-sections (e.g. “Become an Expert Instead of a Planner (Sonke Ahrens)”) in ./permanent/cards, as I’m discussing those concepts a bit more.


A Card my own creation, but highlights that its something beyond a fleeing note. The card is where you flesh out ideas, and continue to inter-relate those ideas. The moniker card pays homage to Zettelkasten.

I’ve assigned a sorting suffix to all ./permanent/cards. The schema for the sorting suffix is set using the following “pattern”: 000aa00aa00aa00­­­

Top-level concepts, as they arrive in the “slip-box”, will have a three digit prefix, followed by ­­­ and the slug. The three digit prefix will be “1” greater than the highest prefix.

Concepts “nested” within will then have a prefix of 000aa the 000 will match the containing concept and the aa will increment based on the next available slug. If we had 001aa and incremented we’d have 001ab. I wrote create-index-for-permanent-cards to use the above documented schema. I also have the script sort-unsorted for sorting an unsorted card.


Letters are the weird things for which I’ve felt are important to keep, but are conceptual terminals.


Project notes typically exist in a single project, and when the project completes may be “disposable”.

Example projects are my Thel Sector campaign; I use these notes to write about the New Vistas in the Thel Sector series.

I also have a project for my work on Samvera. While our community wiki was down for migration maintainence, I wrote our Tech Call notes as a note in the Samvera project.

Later, I needed to add those notes back to the wiki. And since I wrote the notes in the Samvera project, I likely won’t lose them if I forget to follow-up on that task.

I configure my org-roam-tag-sources to use explicit tags and implicit tags from the directories. (setq org-roam-tag-sources '(prop all-directories)) Then, when I use org-roam’ find file or insert function, the tags are part of the search index and display prompt.

If I want a note to span multiple projects, I can add the project name as a tag to that note.


I created two scripts to help manage my directory structure:

to help audit the health of my Org file links. I haven't used this much as Org Roam provides some built-in functionality when renaming documents in the UI.
Helps move files within the above structure. It implements and negotiates the card prefix algorithm.

These scripts helped “Reduce the Number of Decisions”—Sonke Ahrens.


I’ve been writing quite a bit about my Emacs (Emacs 📖). tooling. I hope sharing the organizational structure that works for me provides some insights in how to configure Emacs (or other text editors) to work for you.