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Коды выхода
| Код | Значение |
|---|---|
| 0 | Diff выведен (об ожидающих изменениях сообщается, они не являются ошибкой) |
| 1 | Ожидаемая ошибка проверки, профиля, окружения или проекта |
| 64 | Ошибка использования: неизвестный параметр или команда либо отсутствующее или недопустимое значение параметра. При --json ошибка выводится как конверт JSON с кодом cli.usage. |
См. также
- apothem status — сообщает состояние установки/проверки/дрейфа для каждого окружения
- apothem verify — проверяет установку адаптера окружения
- apothem install — применяет изменения, показанные в предпросмотре