Erster Stand des öffentlichen Ausschnitts aus dem Vault. Die .gitignore arbeitet als Positivliste: ausgeschlossen ist alles, eingeschlossen nur, was ausdrücklich wieder aufgenommen wird. Notizen, Projekte, Finanzen, das Sitzungsgedächtnis und settings.local.json bleiben damit außen vor. Der Kundenname in AI/Regelwerk/seo.md ist durch eine neutrale Bezeichnung ersetzt; die Regeln selbst sind unverändert. Co-Authored-By: Claude Opus 5 <[email protected]>
4.3 KiB
Vault-Struktur
Ordner im Detail
00_Inbox/
Alles, was schnell reinmuss: Fundstücke, Ideen, Gesprächsnotizen. Frontmatter
darf hier minimal sein (type: inbox, title, created). Der Ordner ist ein
Durchlauferhitzer, kein Lager — was länger als zwei Wochen liegt, meldet
vault_doctor.py.
10_Projects/<slug>/
Ein Vorhaben mit Ziel und absehbarem Ende. Jedes Projekt ist ein Ordner, kein einzelnes File, weil Projekte fast immer mehrere Notizen und Anhänge sammeln:
10_Projects/auth-service/
├── index.md Projektnotiz — der Einstieg, type: project-code
├── decisions/ ADRs, type: decision
├── notes/ Arbeitsnotizen, Meetings, Logs
└── assets/ Diagramme, Exporte, PDFs
index.md ist Pflicht und trägt die Projekt-Zusammenfassung. Alle Unternotizen
tragen project: <slug> im Frontmatter — daran hängt vault_query.py --project.
Slug-Regel: kleingeschrieben, Bindestriche, keine Umlaute, so kurz wie
eindeutig (auth-service, nicht Auth Service (neu, 2026)).
20_Areas/
Verantwortungsbereiche ohne Enddatum: Infrastruktur, Security, Homelab, Weiterbildung, Kunde XY. Eine Area-Notiz ist gleichzeitig Landkarte für ihren Bereich. Projekte verlinken auf ihre Area, nicht umgekehrt hart verdrahtet — die Projektliste einer Area entsteht per Abfrage.
30_Research/
Recherche, die über ein einzelnes Projekt hinaus Bestand hat. Eine Notiz = eine
Frage. Ist die Recherche nur für ein Projekt relevant und danach erledigt,
gehört sie in 10_Projects/<slug>/notes/. Faustregel: Würde man das in einem
Jahr auch ohne dieses Projekt nochmal aufmachen? Dann 30_Research/.
40_Templates/
note-templates/— Vorlagen für einzelne Notizen. Auch in Obsidian selbst als Template-Ordner einstellbar (Einstellungen → Templates).project-templates/— Template-Projekte: vollständige Boilerplates, aus denen neue Projekte entstehen (Starter-Repo-Struktur, Standard-Setups, wiederkehrende Auftragsformate). Jedes Template-Projekt hatindex.mdmituse_whenim Frontmatter, damit die Auswahl später ohne Öffnen funktioniert.
Templates werden vom Doctor nicht als verwaist gemeldet und tauchen im Index als eigene Gruppe auf.
50_Resources/
Wissen ohne Projektbezug: Snippets, Runbooks, Cheatsheets, Konfigurations-
Notizen, Tool-Vergleiche. Der Unterschied zu 30_Research/: Ressourcen sind
Nachschlagewerk, Research beantwortet eine Frage.
90_Archive/
Abgeschlossenes bleibt lesbar und indexiert, ist aber aus dem Blick. Beim
Archivieren status: archived setzen und den kompletten Projektordner
verschieben, damit relative Verweise erhalten bleiben.
_index/
Generiert von build_index.py. Enthält vault-index.json (Maschine),
INDEX.md (Mensch), backlinks.json. Nie von Hand editieren. Wer den Ordner
in Obsidian nicht sehen will: Einstellungen → Dateien und Links → „Ausgeschlossene
Dateien" auf _index setzen (er bleibt auf der Platte und für die Skripte
nutzbar).
Wohin gehört diese Notiz?
- Gehört sie zu einem konkreten Vorhaben mit Ende? →
10_Projects/<slug>/ - Beantwortet sie eine Frage, die auch ohne das Vorhaben interessant bleibt?
→
30_Research/ - Ist es eine Vorlage oder ein Boilerplate? →
40_Templates/… - Ist es Nachschlagewissen ohne Frage und ohne Vorhaben? →
50_Resources/ - Ist es ein Dauerbereich, unter dem mehrere Projekte hängen? →
20_Areas/ - Weiß man es nicht? →
00_Inbox/und beim nächsten Aufräumen entscheiden. Das ist kein Versagen, sondern der vorgesehene Weg.
Dateinamen
- Dateiname = sprechender Titel, keine Datumspräfixe (Datum steht im Frontmatter und ist dort auch sortierbar).
- Ausnahme: Daily-/Log-Notizen, dort
YYYY-MM-DD.md. - Projekt- und Template-Ordner tragen Slugs, einzelne Notizen dürfen Leerzeichen und Großschreibung haben — Obsidian-Wikilinks kommen damit klar.
- Keine Umlaute in Ordnernamen; in Dateinamen sind sie unkritisch, aber Slugs bleiben ASCII.
Anpassung der Struktur
Die Ordnernamen sind nicht heilig, die Zuordnung Pfad → Typ schon: Sie steht in
scripts/vaultlib.py unter FOLDER_TYPES. Wer umbenennt, passt dort an —
sonst raten die Skripte falsch, und type im Frontmatter muss überall explizit
gesetzt sein. Frontmatter gewinnt immer gegen die Ordner-Ableitung.