Erste Fassung: Claude-Werkzeuge aus dem Vault

.vault-tools (ohne trading-plattform-pruefung und watermarks-remover),
.claude/agents, .claude/skills, .claude/workflows, .claude/settings.json.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Pascal MichelandClaude Opus 5.5 committed 2026-10-14 11:27:59 +02:00
commit fa1c26b407
137 files changed
+43926

No files matched your search

@@ -0,0 +1,110 @@
# 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
```yaml
---
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.