Skip to content
Apothem
Справочник CLI

diff

Справочник CLI для команды apothem diff.

Предпросмотр ожидающих изменений конфигурации для одного окружения.

Сводка

apothem diff --harness NAME [--profile PATH] [--project PATH]
             [--quiet|-q] [--verbose|-v]
             [--format plain|json] [--json] [--no-color]

diff — команда инспекции только для чтения. Она выполняет ту же материализацию, которую выполнила бы команда install, но в режиме пробного запуска — на диск ничего не записывается. Для каждой ожидающей цели она отображает действие, описанное простым языком (например, Write file, Merge directory, Install skills или Prune stale files), целевой путь, статус предпросмотра (would create, would update, would remove или no change) и — для принадлежащих оператору якорей, которые были бы объединены, — унифицированный diff изменения. Статус вычисляется сравнением источника с текущей целью на диске, поэтому уже совпадающая цель отображается как no change и скрыта из представления по умолчанию. Это ответ на вопрос «что apothem install сделал бы с этим окружением прямо сейчас?» без внесения изменения.

План охватывает каждый путь, в который записывает установка: записи манифеста, собственный файл конфигурации окружения (например, opencode.json или config.yaml), якорь инструкций или документ профиля, в который проецируется общий профиль (например, CLAUDE.md), и общие хранилища данных под .apothem/. Сразу после установки diff не сообщает ни об одном ожидающем изменении; повторная установка тогда ничего не записывает и не создаёт новой резервной копии. install --dry-run показывает тот же план.

Для адаптеров, которые записывают навыки в ваш домашний каталог, план перечисляет эти папки с их путями в домашнем каталоге перед файлами проекта, а папка навыка, которую Apothem не записывал, отображается как предупреждение skill_conflict.

Для целей, принадлежащих оператору, — файлов, которые содержат как ваше собственное содержимое, так и управляемый Apothem блок, — diff показывает точные строки, которые изменились бы. Для остальных целей запланированное действие и статус предпросмотра приводятся в сводном виде.

Представление по умолчанию перечисляет только ожидающие изменения. Передайте --verbose, чтобы увидеть полный план, включая неизменённые цели, с пометками необработанного внутреннего вида операции и исхода. Слой отображения не влияет на конверт --json: он всегда содержит необработанные поля operation и outcome для машинных потребителей.

diff работает с одним окружением. В отличие от install или verify, она не принимает all; передайте имя одного окружения.

Параметры

ПараметрОписание
--harness NAMEАдаптер окружения для предпросмотра (обязателен; одно окружение, не all).
--profile PATHПуть к YAML общего профиля. По умолчанию ~/.config/apothem/profile.yaml.
--project PATHКорень проекта для окружений с областью проекта. Обязателен, когда выбранное окружение имеет область проекта.
--quiet, -qПодавляет информационный вывод; выводятся только ошибки.
--verbose, -vПоказывает полный план, включая неизменённые цели, с пометками необработанного вида операции и исхода.
--format plain|jsonФормат вывода (по умолчанию: plain).
--jsonСокращение для --format json.
--no-colorОтключает коды цвета ANSI в выводе.
-h, --helpПоказывает справку и завершает работу.

Вывод JSON

Конверт --json повторяет конверт установки в режиме пробного запуска. status равен dry_run, files_written всегда пуст, а блок materialization вместе со списком results содержит полные сведения о запланированных целях. Поле detail.diff каждой строки результата, принадлежащей оператору, содержит строку унифицированного diff.

{
  "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": { "...": "..." }
}

Примеры

apothem diff --harness claude-code
apothem diff --harness cursor --project .
apothem diff --harness claude-code --json

Коды выхода

КодЗначение
0Diff выведен (об ожидающих изменениях сообщается, они не являются ошибкой)
1Ожидаемая ошибка проверки, профиля, окружения или проекта
64Ошибка использования: неизвестный параметр или команда либо отсутствующее или недопустимое значение параметра. При --json ошибка выводится как конверт JSON с кодом cli.usage.

См. также

  • apothem status — сообщает состояние установки/проверки/дрейфа для каждого окружения
  • apothem verify — проверяет установку адаптера окружения
  • apothem install — применяет изменения, показанные в предпросмотре

On this page