vault init

Legt einen neuen Vault an — Verzeichnisstruktur, Manifest, Registrierung in der Mount-Registry.

Häufigster Fall

apparat vault init recherche

Das legt den Vault recherche unter $APPARAT_VAULT_ROOT/recherche (Standard: ./vaults/recherche relativ zum Projekt) an. Die URL wird automatisch aus APPARAT_DEFAULT_VAULT_HOST abgeleitet (Standard: localhost), der Vault wird in der Mount-Registry registriert.

Output:

Vault initialised at /home/max/projects/apparat/vaults/recherche
  URL:  https://localhost/vaults/recherche
  Name: recherche
  Mount registry: /home/max/.config/apparat/mounts.yaml

Pfad-Varianten

Das Pfad-Argument akzeptiert drei Formen:

# 1. Bare Name → unter APPARAT_VAULT_ROOT
apparat vault init recherche

# 2. Relativer Pfad (`./` oder `../`)
apparat vault init ./notizen

# 3. Absoluter Pfad
apparat vault init /mnt/external/meine-recherche

Die bare-name-Variante ist die bequeme Standard­nutzung; absolute Pfade sind für Vaults auf externen Laufwerken oder verschlüsselten Partitionen.

URL und Name überschreiben

Wenn dein Apparat-Server unter einer echten Domain erreichbar ist, willst du die Vault-URL darauf setzen, damit Cross-Vault-Links stabil bleiben:

apparat vault init recherche \
  --url=https://apparat.example.com/vaults/recherche \
  --name="Recherche 2026"

Registrierung überspringen

Wenn du einen Vault anlegen willst, ohne dass er sofort in deiner Mount-Registry landet (z.B. für einen Testlauf oder ein einmaliges Skript):

apparat vault init ./tmp-vault --no-register

Der Vault-Ordner und sein Manifest werden geschrieben wie sonst, aber die Registry bleibt unberührt. Später manuell registrieren kannst du, indem du den Eintrag von Hand in ~/.config/apparat/mounts.yaml ergänzt oder den Vault löschst und ohne --no-register neu anlegst.

Was passiert dabei auf der Festplatte?

Nach einem erfolgreichen vault init foo findest du:

$APPARAT_VAULT_ROOT/foo/
├── .apparat/
│   └── manifest.json
├── content/
└── assets/

content/ und assets/ sind leer. Das Manifest sieht so aus (Beispiel):

{
    "url": "https://localhost/vaults/foo",
    "name": "foo",
    "created": "2026-04-21"
}

In ~/.config/apparat/mounts.yaml ist jetzt ein neuer Eintrag:

mounts:
  - url: https://localhost/vaults/foo
    path: /home/max/projects/apparat/vaults/foo

Ab diesem Punkt ist der Vault für alle anderen apparat-Kommandos erreichbar.

Fehler