CLI-Referenz
Apothem-CLI-Referenz — alle Unterbefehle und Flags.
Die apothem-CLI ist die primäre Bedienoberfläche zum Verwalten des gemeinsamen
Profils und der Harness-Adapter.
Globale Flags
| Flag | Beschreibung |
|---|---|
--version | Gibt die Apothem-Version aus und beendet sich |
--help | Gibt die Hilfe zum Befehl aus |
Unterbefehle
apothem install
Installiert einen Harness-Adapter aus dem gemeinsamen Profil.
apothem install --harness <name|all> [--profile PATH] [--project PATH] [--dry-run] [--clean|--fresh] [--yes]| Option | Beschreibung |
|---|---|
--harness <name> | Name des Harness-Adapters (siehe kanonische Werte unten). Erforderlich. |
--profile PATH | Pfad zur YAML-Datei des gemeinsamen Profils. Standard: ~/.config/apothem/profile.yaml. |
--project PATH | Projektwurzel für Harnesses mit Projektbereich. |
--dry-run | Vorschau der Installation ohne Schreiben von Dateien. |
--clean, --fresh | Opt-in für einen leeren Ausgangszustand: sichert den bisherigen Installationszustand (~/.claude, ~/.codex, ~/.agents, ~/.config/apothem) und entfernt ihn vor der Installation. |
--yes | Überspringt die Bestätigung je Ziel beim Entfernen für den leeren Ausgangszustand (erforderlich für nicht interaktive --clean-Läufe). |
Kanonische --harness-Werte:
antigravity
claude-code
codebuddy
codex
cursor
gemini-cli
github-copilot
glm
hermes
kimi-code
kiro
open-claw
opencode
qwen-code
trae
windsurf
zedVerwenden Sie --harness all --project <path>, um die registryweite Menge
auszuwählen. Die exclude_harnesses-Liste des Profils wird bei der
Stapelauswahl für Installation/Aktualisierung berücksichtigt.
apothem update
Leitet die native Konfiguration eines Harness-Adapters aus dem aktuellen gemeinsamen Profil neu ab.
apothem update --harness <name|all> [--profile PATH] [--project PATH] [--dry-run]| Option | Beschreibung |
|---|---|
--harness <name> | Name des Harness-Adapters. Erforderlich. |
--profile PATH | Pfad zur YAML-Datei des gemeinsamen Profils. |
--project PATH | Projektwurzel für Harnesses mit Projektbereich. |
--dry-run | Vorschau der Aktualisierung ohne Schreiben von Dateien. |
update materialisiert die Harness-Ausgabe neu. Es aktualisiert nicht die
Apothem-Engine selbst; aktualisieren Sie die Engine über den Kanal, mit dem Sie
sie installiert haben (den /plugin-Ablauf, npx oder die Installer- und
Update-Skripte), wie unter Aktualisieren beschrieben.
apothem uninstall
Entfernt die native Konfiguration eines Harness-Adapters.
apothem uninstall --harness <name|all> [--project PATH] [--yes]| Option | Beschreibung |
|---|---|
--harness <name> | Name des Harness-Adapters. Erforderlich. |
--project PATH | Projektwurzel für Harnesses mit Projektbereich. |
--yes | Überspringt die Bestätigungsabfrage. |
apothem verify
Prüft, ob die verwalteten Ziele eines Harness-Adapters vorhanden und gültig sind.
apothem verify --harness <name|all> [--profile PATH] [--project PATH]| Option | Beschreibung |
|---|---|
--harness <name> | Name des Harness-Adapters oder all. Erforderlich. |
--profile PATH | YAML-Datei des gemeinsamen Profils, gegen die die Treue geprüft wird. Ohne diese Option ist die Prüfung rein strukturell. |
--project PATH | Projektwurzel für Harnesses mit Projektbereich. |
Ohne --profile ist die Prüfung strukturell: Jedes verwaltete Ziel muss
vorhanden und gültig sein. Mit --profile verlangt sie zusätzlich Treue, sodass
eine Installation, die existiert, aber von diesem Profil abgedriftet ist, bei
verify durchfällt — verwenden Sie die Option, um zu bestätigen, dass ein
bestimmtes Profil getreu installiert ist.
Der Exit-Code ist 0, wenn der Harness verifiziert ist (und, mit --profile,
diesem Profil treu ist), und 1, wenn ein Ziel fehlt oder ungültig ist oder
wenn --profile angegeben ist und die Installation abgedriftet ist.
apothem status
Meldet den Installations-, Verifizierungs- und Drift-Zustand für jeden registrierten Harness.
apothem status [--profile PATH] [--project PATH]| Option | Beschreibung |
|---|---|
--profile PATH | Gemeinsames Profil, das als Drift-Basislinie dient. Ein nicht lesbares Standardprofil stuft den Drift auf unknown herab, statt den Durchlauf abzubrechen. |
--project PATH | Projektwurzel für Harnesses mit Projektbereich. Ohne diese Option melden sie needs-project. |
Jede Zeile kombiniert ein installed-Flag mit einem verified-Flag, und beide
ergeben zusammen den Drift-Zustand:
| Zustand | Bedeutung |
|---|---|
absent | Apothem hat nicht in diesen Harness installiert. |
in-sync | Installiert und mit der Profil-Basislinie übereinstimmend. |
drift | Installiert, aber nicht mehr übereinstimmend — beheben Sie dies mit apothem update. |
unknown | Installiert, aber das Basislinienprofil konnte nicht gelesen werden. |
needs-project | Ein Harness mit Projektbereich wurde ohne --project gemeldet, daher kann sein Ziel nicht aufgelöst werden. |
installed beantwortet die Frage „Hat Apothem hier installiert?“, nicht „Ist
dieser Harness auf dem Rechner vorhanden?“. Es stützt sich auf Apothems eigene
Artefakte — den verwalteten Block innerhalb eines Anweisungsankers und Inhalte
unter dem Apothem-eigenen .apothem/-Teilbaum —, niemals auf eine vendor-eigene
Datei, die der Harness für sich selbst schreibt. Ein Harness, dessen
Konfigurationsverzeichnis existiert, den Apothem aber nie angefasst hat, meldet
absent, und einer, der deinstalliert wurde, meldet absent, obwohl die
geleerten Verzeichnisse bestehen bleiben.
apothem profile
Verwaltet das gemeinsame Apothem-Profil.
apothem profile show [--profile PATH]
apothem profile init [--profile PATH] [--force]
apothem profile set <key> <value> [--profile PATH]
apothem profile edit [--profile PATH]| Unterbefehl | Beschreibung |
|---|---|
profile init | Erstellt ein schema-gültiges minimales Profilgerüst. |
profile show | Gibt das aufgelöste Profil als JSON auf stdout aus. Mit --json beginnt das Dokument mit schema_version. |
profile set <key> <value> | Setzt ein Profilfeld. Der Wert wird als literale Zeichenkette gespeichert: Bloße Wörter werden nicht umgewandelt, sodass no als "no" erhalten bleibt und 1.0 eine Zeichenkette bleibt. Ausgenommen sind true/false sowie explizite [...]- und {...}-Eingaben für Listen und Maps. Das zusammengesetzte Profil wird vor dem Schreiben gegen das Schema validiert. |
profile edit | Öffnet das Profil in $EDITOR (greift ersatzweise auf den Plattformstandard zurück). |
Die Option --profile PATH richtet jeden Unterbefehl auf eine alternative
Profildatei aus. Standard: ~/.config/apothem/profile.yaml.
apothem harnesses
Listet registrierte Harness-Adapter auf und inspiziert sie.
apothem harnesses list
apothem harnesses show <name>| Unterbefehl | Beschreibung |
|---|---|
harnesses list | Gibt eine Tabelle aller registrierten Adapter mit ihrem Installationsstatus-Flag und Ausgabepfad aus. |
harnesses show <name> | Gibt Name, Installationszustand und Ausgabepfad eines Adapters aus. |
apothem doctor
Führt Systemdiagnosen für die Apothem-Installation aus.
apothem doctorGibt die Apothem-Version, den Python-Interpreter, die Plattform, den aufgelösten Profilpfad und eine Installationsstatus-Tabelle je Harness aus. Der Exit-Code ist 1, sobald eine Prüfung fehlschlägt: ein ungültiges Profil, ein installierter Harness, der nicht verifiziert, ein registrierter Hook-Befehl, der nicht starten kann, ein Adapter, der sich nicht laden oder prüfen lässt, oder ein nicht lesbares Ledger. Ein nicht installierter Harness wird gemeldet und gilt nicht als Fehler; Informationshinweise ändern den Exit-Code nicht.
Generierte Befehls- und Flag-Referenz
| Command | Flags | Description |
|---|---|---|
apothem backups prune | --dry-run, --format, --harness, --json, --keep, --no-color, --quiet, -q, --verbose, -v | Delete backup sets and install records beyond the newest N per harness. Keeps the newest N backup sets under ~/.apothem/backups/ for each selected harness, and the newest N install records per install root in its ledger under ~/.apothem/state/. A backup set that a kept record, or the latest install record of any install root, still references is never deleted, so rollback of the latest install still restores. |
apothem completion | — | Print a shell-completion script for SHELL to stdout. Supported shells: bash, zsh, fish, powershell. Every script is generated by Click's env-var completion protocol — PowerShell through the completion class registered above, since Click ships none natively. Enabling completion is opt-in: this command only prints the script — pipe or append it to the shell's completion file yourself (see --help). |
apothem diff | --format, --harness, --json, --no-color, --profile, --project, --quiet, -q, --verbose, -v | Preview the pending configuration changes for a single harness. |
apothem doctor | --format, --json, --no-color, --project, --quiet, -q, --verbose, -v | Check the installed harnesses and the shared profile; exit 1 on any failure. Reports the engine version, Python, and platform; validates a present shared profile against the packaged schema; and, for every installed harness, runs the adapter's verify and starts each hook command the install registered with a no-op payload. A harness that is not installed is reported but is not a failure, so a machine with one healthy harness passes. Project-scope harnesses are checked when --project names their root. |
apothem harnesses list | --format, --json, --no-color, --quiet, -q, --verbose, -v | List all registered harness adapters. |
apothem harnesses show | --format, --json, --no-color, --quiet, -q, --verbose, -v | Show details for a specific harness adapter. |
apothem install | --clean, --fresh, --dry-run, --format, --harness, --json, --no-color, --profile, --project, --quiet, -q, --verbose, -v, --yes | Install a harness adapter configuration. |
apothem migrate-workspace | --dry-run, --format, --json, --no-color, --project, --quiet, -q, --verbose, -v | Migrate a legacy per-harness workspace into the shared .apothem layout. The base is the resolved --project root when supplied, otherwise the current working directory (the project-local default). Per-harness memory/contexts/learning stores union-merge into the shared store; a conflicting record is skipped, never overwritten; a legacy .plans tree moves under .apothem/plans; every consumed source is backed up first. The migration is idempotent. |
apothem profile edit | --format, --json, --no-color, --profile, --quiet, -q, --verbose, -v | Open the shared profile in the system editor. |
apothem profile init | --force, --format, --json, --no-color, --profile, --quiet, -q, --verbose, -v | Create a schema-valid shared profile scaffold. |
apothem profile set | --format, --json, --no-color, --profile, --quiet, -q, --verbose, -v | Set a key in the shared profile. KEY is a dotted path that descends into the nested profile structure (identity.name, preferences.style, enforcement.sprints, harnesses.<harness>.preferences.style); a single key with no dot sets a top-level node. VALUE is stored as a literal string — bare words are not coerced (no stays "no", 2024-01-01 and 1.0 stay strings) — except true/false (the boolean enforcement flags) and explicit [...]/{...} list/map input. The fully-assembled profile is validated against the packaged schema BEFORE writing; an invalid set is refused with the standard diagnostic and the profile on disk is unchanged. |
apothem profile show | --format, --json, --no-color, --profile, --quiet, -q, --verbose, -v | Display the current shared profile. |
apothem quickstart | --format, --harness, --json, --no-color, --profile, --project, --quiet, -q, --verbose, -v, --yes | Guided first run: ensure a profile, preview the writes, then install. Walks a new operator through the canonical path in one linear flow — create a starter profile if none exists (with a personalize nudge), preview the files each harness will write (project root vs your home directory), confirm, then install with the grouped capability-note output — and ends with the recommended next commands. --yes runs the whole sequence non-interactively; --format json emits one structured summary of every step. It composes the install building blocks; it does not duplicate them. Without --harness it asks which harness to install, so the first run writes one harness's configuration rather than all of them; all is an explicit choice. A run that cannot ask fails with a usage error before anything is written. |
apothem rollback | --format, --harness, --install-id, --json, --last, --no-color, --project, --quiet, -q, --verbose, -v, --yes | Restore a harness to the state before its recorded install. |
apothem status | --format, --json, --no-color, --profile, --project, --quiet, -q, --verbose, -v | Report install, verify, and drift state for every registered harness. |
apothem uninstall | --format, --harness, --json, --no-color, --project, --quiet, -q, --verbose, -v, --yes | Remove a harness adapter configuration. |
apothem update | --dry-run, --format, --harness, --json, --no-color, --profile, --project, --quiet, -q, --verbose, -v | Re-install a harness adapter configuration from the current profile. |
apothem verify | --format, --harness, --json, --no-color, --profile, --project, --quiet, -q, --verbose, -v | Verify a harness adapter installation. Without --profile the check is structural: every managed target must be present and valid. With --profile the check additionally requires profile fidelity, so a present-but-drifted install fails verify — answering "is THIS profile faithfully installed?" rather than merely "does it exist?". |