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.