Skip to main content
A vault is a folder of markdown notes linked with [[wiki links]]. 9p reads the index, follows links to what’s relevant, and writes back what it learns. It’s an Obsidian vault if you point Obsidian at it, but Obsidian is optional. The structure is what matters, not the app.

Setup

Creates the scaffold and records the path in .9p/config.json:

Mapping the codebase

Explores the project and writes concise wiki notes into graph/: an index plus one note per module, each linking to related notes. Re-run it to refresh; it updates notes in place rather than duplicating. This routes on economy bias deliberately: it’s bulk read-and-summarise across a whole repo.

The index-note pattern

The pattern that makes this work: every folder has a master note named after the folder, wiki-linked to everything inside it.
vault/jobs/release/release.md
9p reads one note, follows the links, and arrives fully briefed. You don’t have to tell it which files to read.

Decisions

The highest-value notes are the ones git can’t reconstruct, why something is the way it is:
vault/decisions/why-no-orm.md
Months later, “why was this decided?” has an answer.

Daily notes

Ask 9p to log at the end of a session:
Put a short index at the top of each daily note. Future sessions scan indexes instead of reading every note in full.

Anti-bloat

Worth stating in your 9P.md:
Without a rule like that you accumulate hundreds of near-duplicate notes, and a sprawling vault is worse than none, the agent trusts stale notes over the code.
Point Obsidian at the folder if you want the graph view. It’s a good way for you to see the shape of the knowledge; 9p reads the markdown either way.