Installation und erster Vault
Apparat ist in der aktuellen Ausbaustufe (Schicht 0) eine Kommandozeilen-Anwendung auf Basis von PHP 8.5 und Laravel. Diese Seite führt dich durch Installation, Konfiguration und die ersten drei Notizen.
Voraussetzungen
- PHP ≥ 8.5 mit den Extensions
ext-intl,ext-mbstring,ext-json(alle Standard bei gängigen PHP-Builds). - Composer ≥ 2.x für PHP-Abhängigkeiten.
- Node.js ≥ 20 für das Frontend-Build (benötigt, sobald die Web-Oberfläche kommt; für die reine CLI-Nutzung nicht zwingend).
- Eine bevorzugte Shell (Bash, Zsh, Fish) und ein Texteditor deiner Wahl für die
$EDITOR-Umgebungsvariable.
Installation
git clone https://code.tollwerk.net/joschi-kuphal/apparat.git cd apparat composer setup
composer setup legt eine lokale .env-Datei an, erzeugt einen Applikations-Schlüssel und installiert alle PHP-Pakete. Optional:
npm install # nur nötig, wenn das Frontend oder die Doku gebaut wird
Ab hier ist das apparat-Kommando direkt im Projektverzeichnis aufrufbar:
./apparat
Wer es projektunabhängig möchte, verlinkt es einmal nach /usr/local/bin/ oder nimmt das Projektverzeichnis in den PATH auf:
sudo ln -s "$(pwd)/apparat" /usr/local/bin/apparat # oder echo "export PATH=\"$(pwd):\$PATH\"" >> ~/.bashrc
Danach:
apparat
zeigt eine Liste aller verfügbaren Kommandos.
Den ersten Vault anlegen
Ein Vault ist dein Wissensspeicher — ein eigenständiges Verzeichnis mit allen Notizen, Assets und Metadaten für ein Thema oder einen Lebensbereich (etwa „privat", „arbeit", „recherche"). Du kannst beliebig viele davon haben, aber mit einem fängst du an.
apparat vault init recherche
Das legt das Verzeichnis vaults/recherche/ an (relativ zum Projektverzeichnis), richtet darin die Struktur content/, assets/, .apparat/ ein und schreibt ein Manifest. Der Vault ist sofort registriert und für die anderen Kommandos erreichbar.
Wohin genau der Vault geschrieben wird, hängt von der Umgebungsvariable APPARAT_VAULT_ROOT ab. Wenn du stattdessen einen absoluten Pfad oder ./relativen/Pfad angibst, landet der Vault genau dort.
Die erste Notiz
apparat entity new
Apparat fragt dich interaktiv durch:
- Entity type — z.B.
person,project,thought. Englisch, kleingeschrieben, Singular — Konvention aus der Spec. Frei wählbar; bei ähnlichen bestehenden Typen bekommst du Vorschläge. - Title — die Überschrift, z.B. Maria Beispiel.
- Document language — die Sprache, in der der Fließtext überwiegend verfasst ist (BCP-47:
de,en,de-DE…). Der konfigurierte Default (APPARAT_DEFAULT_LANGUAGE, standardmäßigde) ist vorausgewählt; du kannst ihn mit Enter übernehmen oder einen anderen Code eingeben. - Tags — kommagetrennt, optional, z.B.
kollegin, wcag. - Body — entweder im
$EDITORöffnen, direkt inline tippen, oder leer lassen.
Nach dem Speichern liegt die Datei in vaults/recherche/content/ und sieht ungefähr so aus:
--- id: V1StGXRa type: person created: 2026-04-21 language: de updated: '2026-04-21T10:14:02+02:00' title: Maria Beispiel tags: - kollegin - wcag --- # Maria Beispiel Gespräch am Mittwoch über Barrierefreiheit.
Die Datei ist eine ganz normale Markdown-Datei. Du kannst sie mit jedem Editor öffnen, in Git einchecken, per rsync synchronisieren, per cat lesen. Nichts ist an Apparat gebunden.
Weiter von hier
- Grundbegriffe — Entität, Vault, Tags, Typen verstehen.
- Bedienung — das
apparat-Kommando und seine Unterkommandos. - Philosophie — warum das alles so gebaut ist.