Skip to content
Apothem
CLI-Referenz

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

OptionBeschreibung
--harness NAMEHarness-Adapter für die Vorschau (erforderlich; ein einzelner Harness, nicht all).
--profile PATHPfad zur YAML-Datei des gemeinsamen Profils. Standardwert: ~/.config/apothem/profile.yaml.
--project PATHProjektwurzel für Harnesses mit Projektgeltungsbereich. Erforderlich, wenn der ausgewählte Harness Projektgeltungsbereich hat.
--quiet, -qUnterdrückt informative Ausgaben; nur Fehler werden ausgegeben.
--verbose, -vZeigt den vollständigen Plan einschließlich unveränderter Ziele, annotiert mit der rohen Operationsart und dem Ergebnis.
--format plain|jsonAusgabeformat (Standard: plain).
--jsonKurzform für --format json.
--no-colorDeaktiviert ANSI-Farbcodes in der Ausgabe.
-h, --helpZeigt 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 --json

Exit-Codes

CodeBedeutung
0Diff gemeldet (ausstehende Änderungen werden gemeldet, sind kein Fehler)
1Erwarteter Validierungs-, Profil-, Harness- oder Projektfehler
64Verwendungsfehler: 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

On this page