Personal repo template
When this fits
One person, one graph. Notes, references, projects, decisions — a working knowledge base for someone whose job is synthesizing across domains (analyst, journalist, investor, researcher, writer) or who just wants a queryable second brain with typed edges.
Signals this fits: the user is both author and consumer. No team roles. No access tiers beyond self. Obsidian-adjacent use case.
Kept deliberately modest. Don't over-engineer a personal repo into a fake team graph.
Collection skeleton
notes/ — atomic ideas, observations, evergreen thoughts
projects/ — in-flight or recently-completed work
references/ — external sources worth referring back to (articles, books, papers)
decisions/ — personal decisions with rationale (career, tools, investments)
Four collections. No /people/ or /clients/ — personal repos don't usually need them as top-level collections; if a person comes up, they get a note.
Edge vocabulary
cites— a note cites an external referencepart-of— a note is part of a projectsupersedes— a note or decision supersedes a prior oneinspired-by— one idea came from anothercontradicts— a note contradicts another (preserve both; don't resolve prematurely)
Keep the vocabulary small. Personal repos drift into edge-type sprawl quickly because every connection feels meaningful; pick five types and stick to them.
Day-one questions
With 50 notes, 5 projects, 20 references, 10 decisions:
- "What am I working on?" →
context("/projects")filtered by active status - "What did I read about X?" → search
/referencesby topic - "Why did I switch from tool A to tool B?" →
context("/decisions/tool-switch-2024") - "What notes are part of the book project?" → traverse
/projects/bookforpart-ofbacklinks - "What ideas did this reading inspire?" → traverse
/references/some-bookforinspired-bybacklinks
Extension hints
- Only add collections when you notice repeatedly asking "where does this go?" A personal repo with 10 collections is a personal repo nobody will maintain.
- Atomicity matters more in personal repos than almost anywhere else. A note that bundles three ideas can't be linked to precisely, and the whole point of a personal KB is precise later-linking.
- Don't add
/people/as a collection unless the person regularly appears as a link target from multiple notes. One-off mentions stay inline; recurring mentions earn their own node once they've recurred several times. - If the personal repo becomes a client-facing deliverable (rare but possible — some consultants run their PKM as their publication), evolve toward consulting-agency. Don't try to bolt teams onto the personal template.
Example traversal
Question: "What was the original thought that led to my current writing project?"
context("/")— see four collectionscontext("/projects/essay-series")— read scope, seeinspired-byedge to/notes/tension-between-x-and-ycontext("/notes/tension-between-x-and-y")— read the note, seecitesedges to two references,inspired-byedge to an earlier notecontext("/notes/earlier-note")— the original thought
Three hops from root to the seed idea of an ongoing project.
design.md starters
/notes/design.md— each note is one atomic idea. Frontmatter:name(a sentence capturing the idea),description(one-line restatement),date. Body: a paragraph, maybe two. Anti-pattern: notes longer than a page — split them./projects/design.md— each project is a Thing with scope and status. Frontmatter:name,description,status(active/paused/done/abandoned),start-date. Body: what the project is, current state, links topart-ofnotes./references/design.md— each reference is an external source. Frontmatter:name,description(what this source is about, in your own words),urlorcitation,date-read. Body: key takeaways in your own words — not a copy of the source./decisions/design.md— personal decision log. Frontmatter:name,description,date,status. Body: what decision, why, what trade-offs. Supersede rather than edit.