diff
CLI-Referenz für den Befehl apothem diff.
Zeigt eine Vorschau der ausstehenden Konfigurationsänderungen für einen einzelnen Harness an.
Übersicht
apothem diff --harness NAME [--profile PATH] [--project PATH]
[--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]diff ist ein rein lesender Inspektionsbefehl. Er führt dieselbe
Materialisierung aus, die der Befehl install ausführen würde, jedoch im
Dry-Run-Modus — es wird nichts auf die Festplatte geschrieben. Für jedes
ausstehende Ziel rendert er eine verständlich formulierte Aktion (zum Beispiel
Write file, Merge directory, Install skills oder Prune stale files), den
Zielpfad, einen Vorschaustatus (would create, would update, would remove
oder no change) und — für operatoreigene Anker, die zusammengeführt würden —
das Unified Diff der Änderung. Der Status wird berechnet, indem die Quelle mit
dem aktuellen Ziel auf der Festplatte verglichen wird; ein bereits
übereinstimmendes Ziel lautet daher no change und wird in der Standardansicht
ausgeblendet. Der Befehl beantwortet die Frage „Was würde
apothem install gerade jetzt mit diesem Harness tun?“, ohne die Änderung
vorzunehmen.
Der Plan umfasst jeden Pfad, den die Installation schreibt: die
Manifesteinträge, die eigene Konfigurationsdatei des Harness (zum Beispiel
opencode.json oder config.yaml), den Anweisungsanker oder das
Profildokument, in das das gemeinsame Profil projiziert wird (etwa
CLAUDE.md), und die gemeinsamen Datenspeicher unter .apothem/. Unmittelbar
nach einer Installation meldet diff keine ausstehende Änderung; eine erneute
Installation schreibt dann nichts und legt keine neue Sicherung an.
install --dry-run zeigt denselben Plan.
Für die Adapter, die Skills in Ihr Home-Verzeichnis schreiben, listet der Plan
diese Ordner mit ihren Home-Pfaden vor den Projektdateien auf, und ein
Skill-Ordner, den Apothem nicht geschrieben hat, erscheint als
skill_conflict-Warnung.
Für operatoreigene Ziele — Dateien, die sowohl Ihren eigenen Inhalt als auch einen von Apothem verwalteten Block tragen — zeigt das Diff die genauen Zeilen, die sich ändern würden. Für andere Ziele werden die geplante Aktion und der Vorschaustatus zusammengefasst.
Die Standardansicht listet nur ausstehende Änderungen auf. Übergeben Sie
--verbose, um den vollständigen Plan einschließlich unveränderter Ziele zu
sehen, annotiert mit der rohen internen Operationsart und dem Ergebnis. Der
--json-Umschlag ist von der Anzeigeschicht nicht betroffen: Er trägt für
maschinelle Konsumenten immer die rohen Felder operation und outcome.
diff arbeitet mit einem einzelnen Harness. Anders als install oder verify
akzeptiert er kein all; übergeben Sie einen einzigen Harness-Namen.
Optionen
| Option | Beschreibung |
|---|---|
--harness NAME | Harness-Adapter für die Vorschau (erforderlich; ein einzelner Harness, nicht all). |
--profile PATH | Pfad zur YAML-Datei des gemeinsamen Profils. Standardwert: ~/.config/apothem/profile.yaml. |
--project PATH | Projektwurzel für Harnesses mit Projektgeltungsbereich. Erforderlich, wenn der ausgewählte Harness Projektgeltungsbereich hat. |
--quiet, -q | Unterdrückt informative Ausgaben; nur Fehler werden ausgegeben. |
--verbose, -v | Zeigt den vollständigen Plan einschließlich unveränderter Ziele, annotiert mit der rohen Operationsart und dem Ergebnis. |
--format plain|json | Ausgabeformat (Standard: plain). |
--json | Kurzform für --format json. |
--no-color | Deaktiviert ANSI-Farbcodes in der Ausgabe. |
-h, --help | Zeigt die Hilfe an und beendet den Befehl. |
JSON-Ausgabe
Der --json-Umschlag spiegelt den Umschlag einer Dry-Run-Installation.
status ist dry_run, files_written ist immer leer, und der
materialization-Block sowie die results-Liste tragen die vollständigen
Details der geplanten Ziele. Das Feld detail.diff jeder operatoreigenen
Ergebniszeile trägt die Unified-Diff-Zeichenkette.
{
"schema_version": 1,
"status": "dry_run",
"command": "diff",
"action": "dry_run",
"harness": "claude-code",
"files_written": [],
"results": [
{
"harness": "claude-code",
"outcome": "updated",
"operation": "sentinel_merge",
"path": "C:\\Users\\Example\\.claude\\CLAUDE.md",
"message": "dry run: no filesystem changes made",
"detail": {
"ownership_class": "operator-owned",
"diff": "--- a/CLAUDE.md\n+++ b/CLAUDE.md\n@@ ..."
}
}
],
"warnings": [],
"error": null,
"materialization": { "...": "..." }
}Beispiele
apothem diff --harness claude-code
apothem diff --harness cursor --project .
apothem diff --harness claude-code --jsonExit-Codes
| Code | Bedeutung |
|---|---|
| 0 | Diff gemeldet (ausstehende Änderungen werden gemeldet, sind kein Fehler) |
| 1 | Erwarteter Validierungs-, Profil-, Harness- oder Projektfehler |
| 64 | Verwendungsfehler: eine unbekannte Option oder ein unbekannter Befehl oder ein fehlender oder ungültiger Optionswert. Unter --json ist der Fehler ein JSON-Umschlag mit dem Code cli.usage. |
Siehe auch
- apothem status — meldet Installation, Verifizierung und Drift für jeden Harness
- apothem verify — verifiziert die Installation eines Harness-Adapters
- apothem install — wendet die in der Vorschau gezeigten Änderungen an