Files
claude-regelwerk/.vault-tools/obsidian-vault-navigator/references/frontmatter-schema.md
T
Pascal MichelandClaude Opus 5 2c9a4475fc Regelwerk, Agenten, Skills und Werkzeuge veröffentlichen
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]>
2026-09-17 22:38:15 +02:00

4.2 KiB
Raw Blame History

Frontmatter-Schema

Obsidian nennt Frontmatter „Properties". Es ist YAML zwischen zwei ----Zeilen am Dateianfang. Der Index liest genau diese Felder — was hier fehlt, muss der Agent sich durch Öffnen der Datei erarbeiten, und genau das kostet Kontext.

Pflichtfelder (alle Notiztypen)

Feld Typ Bedeutung
uid String Stabile ID, Format YYYYMMDD-slug. Überlebt Umbenennen und Verschieben; Verweise in Skripten hängen daran.
type Enum Steuert Gruppierung, Templates und Abfragen. Gewinnt gegen die Ableitung aus dem Ordner.
title String Anzeigename. Fehlt er, nimmt der Index die erste #-Überschrift, sonst den Dateinamen.
status Enum Lebenszyklus, siehe unten.
summary String Ein Satz, max. 160 Zeichen. Worum geht es und wofür macht man die Notiz auf.
tags Liste Kleingeschrieben, ohne #, Technologie/Thema. 3–6 Stück, nicht 20.
created Datum YYYY-MM-DD
updated Datum YYYY-MM-DD, bei inhaltlichen Änderungen mitziehen.

Erlaubte type-Werte

project-code, template-project, note-template, research, area, resource, moc, decision, inbox, archive

Neue Typen nur bewusst einführen und dann in scripts/vaultlib.py unter KNOWN_TYPES eintragen, sonst meldet der Doctor sie als unbekannt.

Erlaubte status-Werte

Wert Bedeutung
idea notiert, noch nicht begonnen
active wird gerade bearbeitet
paused bewusst liegengelassen, kommt zurück
done abgeschlossen, noch am Platz
archived abgeschlossen und nach 90_Archive/ verschoben
reference Dauerhaftes ohne Fortschritt (Areas, Ressourcen, Templates)

Zusätzliche Felder je Typ

project-code

Feld Beispiel Zweck
repo [email protected]:me/auth-service.git Sprung ins Repo ohne Suche
lang go Hauptsprache
stack [postgres, keycloak, docker] Umgebung auf einen Blick
template_of go-service-starter aus welchem Template-Projekt entstanden
area infrastruktur zugehöriger Dauerbereich

research

Feld Beispiel Zweck
question Welche Rate-Limiting-Strategie passt zu Gateway X? die eine Frage
sources [https://…, "Buch, S. 40"] Belege
confidence low / medium / high wie belastbar die Antwort ist
project auth-service auslösendes Projekt

template-project

Feld Beispiel Zweck
use_when Neuer Go-Service mit HTTP-API und Postgres Auswahl ohne Öffnen
stack [go, postgres, docker]
template_of — bleibt leer; wird in den abgeleiteten Projekten gesetzt

decision (ADR)

Feld Beispiel
project auth-service
decided 2026-08-03
supersedes 20260101-mongo-als-store

area, resource, moc, note-template

Nur die Pflichtfelder. Bei moc ist summary besonders wichtig, weil MOCs Einstiegspunkte sind.

Beispiel

---
uid: 20260803-auth-service
type: project-code
title: Auth Service
status: active
summary: OIDC-Auth-Service für die interne Toolchain, Go + Keycloak, löst die verteilten Basic-Auth-Setups ab.
tags: [go, oidc, keycloak, infrastruktur]
repo: [email protected]:me/auth-service.git
lang: go
stack: [postgres, keycloak, docker]
template_of: go-service-starter
area: infrastruktur
created: 2026-08-03
updated: 2026-08-03
---

Was nicht ins Frontmatter gehört

  • Fließtext oder mehrzeilige Beschreibungen — dafür ist der Body da.
  • Werte, die sich täglich ändern (Fortschritt in Prozent, laufende Zahlen).
  • Secrets, Tokens, Passwörter, Zugangsdaten. Nie, auch nicht „nur kurz".
  • Duplikate von Wikilinks — Links stehen im Body unter ## Referenzen.

Massenpflege

vault_doctor.py --fix-missing ergänzt fehlende Felder konservativ: type aus dem Ordner, title aus der ersten Überschrift, summary aus dem ersten Absatz, uid aus Datum + Slug. Es überschreibt nie vorhandene Werte und rührt den Body nicht an. Standard ist ein Trockenlauf; erst --apply schreibt. Danach die generierten summary-Werte durchsehen — automatisch abgeleitete Sätze sind brauchbar, aber selten so gut wie ein bewusst geschriebener.