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

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 projekt­unabhä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 Wissens­speicher — ein eigenständiges Verzeichnis mit allen Notizen, Assets und Metadaten für ein Thema oder einen Lebens­bereich (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:

  1. Entity type — z.B. person, project, thought. Englisch, klein­geschrieben, Singular — Konvention aus der Spec. Frei wählbar; bei ähnlichen bestehenden Typen bekommst du Vorschläge.
  2. Title — die Überschrift, z.B. Maria Beispiel.
  3. 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äßig de) ist vorausgewählt; du kannst ihn mit Enter übernehmen oder einen anderen Code eingeben.
  4. Tags — kommagetrennt, optional, z.B. kollegin, wcag.
  5. 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