Skip to content
Apothem
Referencia de la CLI

diff

Referencia de la CLI para el comando apothem diff.

Previsualiza los cambios de configuración pendientes de un único entorno.

Sinopsis

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

diff es un comando de inspección de solo lectura. Ejecuta la misma materialización que ejecutaría el comando install, pero en modo de simulación: no se escribe nada en disco. Para cada destino pendiente renderiza una acción en lenguaje sencillo (por ejemplo Write file, Merge directory, Install skills o Prune stale files), la ruta de destino, un estado de previsualización (would create, would update, would remove o no change) y, para las anclas propiedad del operador que se fusionarían, el diff unificado del cambio. El estado se calcula comparando el origen con el destino actual en disco, de modo que un destino que ya coincide se muestra como no change y se oculta en la vista predeterminada. Es la respuesta a «¿qué haría apothem install con este entorno ahora mismo?» sin realizar el cambio.

El plan abarca cada ruta que escribe la instalación: las entradas del manifiesto, el propio archivo de configuración del entorno (por ejemplo opencode.json o config.yaml), el ancla de instrucciones o el documento de perfil en el que se proyecta el perfil compartido (como CLAUDE.md) y los almacenes de datos compartidos bajo .apothem/. Justo después de una instalación, diff no informa ningún cambio pendiente; una reinstalación posterior no escribe nada y no toma una nueva copia de seguridad. install --dry-run muestra el mismo plan.

Para los adaptadores que escriben skills en tu directorio personal, el plan lista esas carpetas con sus rutas del directorio personal, antes de los archivos del proyecto, y una carpeta de skill que Apothem no escribió aparece como una advertencia skill_conflict.

Para los destinos propiedad del operador —archivos que llevan tanto tu propio contenido como un bloque gestionado por Apothem— el diff muestra las líneas exactas que cambiarían. Para los demás destinos, se resumen la acción planificada y el estado de previsualización.

La vista predeterminada lista solo los cambios pendientes. Pasa --verbose para ver el plan completo, incluidos los destinos sin cambios, anotado con el tipo de operación interna sin procesar y el resultado. La capa de presentación no afecta al sobre --json: siempre lleva los campos operation y outcome sin procesar para los consumidores automáticos.

diff opera sobre un único entorno. A diferencia de install o verify, no acepta all; pasa un nombre de entorno.

Opciones

OpciónDescripción
--harness NAMEAdaptador de entorno que se previsualiza (obligatorio; un único entorno, no all).
--profile PATHRuta al YAML del perfil compartido. Por defecto, ~/.config/apothem/profile.yaml.
--project PATHRaíz del proyecto para los entornos con alcance de proyecto. Obligatoria cuando el entorno seleccionado tiene alcance de proyecto.
--quiet, -qSuprime la salida informativa; solo se emiten errores.
--verbose, -vMuestra el plan completo, incluidos los destinos sin cambios, anotado con el tipo de operación sin procesar y el resultado.
--format plain|jsonFormato de salida (por defecto: plain).
--jsonAbreviatura de --format json.
--no-colorDesactiva los códigos de color ANSI en la salida.
-h, --helpMuestra la ayuda y sale.

Salida JSON

El sobre --json refleja el sobre de la instalación en modo de simulación. status es dry_run, files_written siempre está vacío, y el bloque materialization junto con la lista results llevan todo el detalle de los destinos planificados. El campo detail.diff de cada fila de resultado propiedad del operador lleva la cadena del diff unificado.

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

Ejemplos

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

Códigos de salida

CódigoSignificado
0Diff informado (los cambios pendientes se informan, no son un error)
1Error esperado de validación, de perfil, de entorno o de proyecto
64Error de uso: una opción o un comando desconocidos, o un valor de opción ausente o no válido. Con --json, el error es un sobre JSON con el código cli.usage.

Véase también

  • apothem status — informa la instalación, la verificación y la desviación de cada entorno
  • apothem verify — verifica la instalación de un adaptador de entorno
  • apothem install — aplica los cambios previsualizados

On this page