navori
navori

sync

Trae cambios del bundle a todos los engines configurados sin pisar tus ediciones.

Uso

navori sync [--interactive] [--apply] [--yes] [--accept-new] [--accept-new-files] [--keep-mine] [--dry-run] [--json] [--workspace <name>]

Flags

--interactive Resuelve cada conflicto uno por uno: ves el diff y eliges keep-mine o accept-new, sea un bloque de CLAUDE.md, un archivo completo con marcador o un archivo sin marcadores (se reemplaza completo, con backup).
--apply Aplica los cambios sin el prompt interactivo.
--yes Auto-confirma. Falla con exit 1 si hay conflictos (CI gate).
--accept-new Resuelve, sin preguntar, todos los conflictos de bloques de CLAUDE.md con la versión nueva del render. Destructivo: requiere --apply o --yes y respalda CLAUDE.md antes. Tu zona de usuario nunca se toca.
--keep-mine Resuelve, sin preguntar, todos los conflictos de bloques de CLAUDE.md conservando tu edición y aplicando el resto de los cambios. Requiere --apply o --yes.
--dry-run Muestra el plan sin escribir.
--json Salida machine-readable para CI; suprime la salida humana.
--accept-new-files Sobrescribe, sin preguntar, cada archivo completo editado a mano que conserva su marcador navori. Requiere --apply o --yes y respalda cada archivo antes. --accept-new no toca archivos completos.
--workspace <name> Sincroniza solo un workspace (monorepo).

Ejemplos

Resolución interactiva

$ navori sync --interactive
Conflict CLAUDE.md:idioma-rol
  - tu edición
  + versión nueva del render
? keep mine / accept new

Notas

  • Si editaste un bloque managed a mano, sync lo detecta (hash drift) y NO lo pisa: lo resuelves tú.
  • Un archivo completo editado a mano (agente, skill, hook, script de plugin, AGENTS.md…) que conserva su marcador navori se resuelve con --interactive (diff + keep/accept) o en bloque con --accept-new-files. Un archivo sin ningún marcador navori (script de plugin legacy o archivo tuyo en una ruta de plugin) solo se reemplaza completo con --interactive: avisa que no es una edición de navori, muestra el diff, por defecto conserva el tuyo y, si aceptas, guarda un backup (se conserva 30 días; recupéralo con navori backup restore). Ningún flag masivo ni --json lo toca. Si solo conserva parte del marcador o lo menciona en un comentario, la salida es manual: muévelo aparte y corre render --apply.
  • Con --json, cada conflicto trae 'resolvable' ('bulk' o 'none') y la salida trae 'acceptNewFiles'; nunca incluye el contenido de los archivos y refleja el estado posterior a la resolución.
  • sync es el comando para upgrades de versión; render --apply es para regenerar.
  • Mantiene el '.claude/.gitignore' del harness (y '.codex/.gitignore' con codex habilitado) al día igual que cualquier otro bloque managed.