Vault

Ein Vault ist ein eigenständiger Wissensraum — ein Verzeichnis auf deiner Festplatte, das alle Notizen, Assets und Metadaten zu einem Thema zusammenhält.

Wofür mehrere Vaults?

Du kannst Apparat mit einem einzigen Vault („alles in einem") betreiben — und das ist für den Anfang auch das einfachste. Mehrere Vaults machen Sinn, wenn:

Du kannst beliebig viele Vaults haben, und Links zwischen ihnen funktionieren (solange beide gemountet sind — siehe unten).

Struktur eines Vaults

Jeder Vault hat dieselbe Verzeichnisstruktur:

mein-vault/
├── .apparat/
│   └── manifest.json       # Identität und Metadaten des Vaults
├── content/                # Entitätsdateien (.md)
│   ├── 2026-04-19--maria-beispiel--V1StGXRa.md
│   └── ...
└── assets/                 # Binärdateien (Fotos, Audio, PDF)
    └── 2026-04-19--interview-maria--Bx7tYu3v.mp3

Mehr nicht. Das ist der vollständige Inhalt.

Das Vault-Manifest

In .apparat/manifest.json steht die Identität des Vaults:

{
    "url": "https://apparat.example.com/vaults/recherche",
    "name": "Recherche",
    "created": "2026-04-19"
}

Die Mount-Registry

Damit Apparat weiß, welche Vaults es auf deiner Maschine gibt und wo sie liegen, führt es eine Mount-Registry — eine zentrale YAML-Datei, die Vault-URLs auf lokale Pfade abbildet:

mounts:
  - url: https://apparat.example.com/vaults/privat
    path: /home/max/vaults/privat
  - url: https://apparat.example.com/vaults/arbeit
    path: /home/max/vaults/arbeit

Die Registry liegt standardmäßig unter ~/.config/apparat/mounts.yaml (XDG-Konvention) und wird automatisch gepflegt: apparat vault init fügt den neuen Vault hinzu, soweit du nicht --no-register angibst.

Den Pfad kannst du über die Umgebungsvariable APPARAT_MOUNT_REGISTRY_PATH auch überschreiben — nützlich für isolierte Docker-Container oder Tests.

Einen Vault referenzieren

In Kommandos wie entity new, entity list oder entity search kannst du einen Vault auf drei Weisen ansprechen:

# 1. Per kanonischer URL
apparat entity list --vault=https://apparat.example.com/vaults/recherche

# 2. Per Pfad (absolut oder CWD-relativ)
apparat entity list --vault=/home/max/vaults/recherche
apparat entity list --vault=./meine-notizen

# 3. Per Name (aus dem Manifest, case-insensitiv)
apparat entity list --vault=recherche

Wenn du das Flag weglässt, versucht Apparat automatisch:

  1. Liegt dein aktuelles Arbeitsverzeichnis innerhalb eines registrierten Vaults? → nimm diesen.
  2. Ist nur ein einziger Vault registriert? → nimm diesen.
  3. Sind mehrere registriert? → interaktive Auswahl (oder Fehler im --no-interaction-Modus).

So musst du --vault im Alltag selten tippen.

Links innerhalb desselben Vaults sind gewöhnliche relative Markdown-Links:

[Maria Beispiel](./2026-04-19--maria-beispiel--V1StGXRa.md)

Verweise über Vault-Grenzen hinweg nutzen die vollständige URL:

[Max aus dem Team](https://apparat.example.com/vaults/arbeit/content/2024-02-14--max-mustermann--Bx7tYu3v.md)

Wenn der Ziel-Vault lokal gemountet ist, öffnet Apparat die Datei direkt; ist er nicht gemountet, bleibt der Link sichtbar, aber die UI markiert ihn als „offline". (Die Auflösung von Cross-Vault-Links beim Rendern gehört zur Web-Oberfläche.)