# Deploy & Sync Reglas para desplegar módulos y secciones generales a producción via MCP, y para sincronizar con el servidor. --- ## Protocolo para `save_module` 1. `save_module` con `html`, `js`, `css` — **LOS 3 SIEMPRE**. Si omites uno, se borra de prod (queda 0 bytes). 2. Ejecutar `check_module` → fuerza recompilación de `index-twig.tpl` 3. Visitar `?compiletwig` en una página que use el módulo 4. Verificar que renderiza --- ## NUNCA pasar `html` a módulos con builder vars configurados Módulos con sample data en el builder (banners, carouseles, módulos con imágenes/colores configurados desde el admin) se ROMPEN al recompilar el HTML. El `save_module` puede perder/corromper la configuración visual. **Para estos módulos:** - Solo pasar `js` y/o `css`, nunca `html` - Si se rompe: `recover_git` con `list_git_log` para revertir - Editar el HTML desde el panel admin de Acai, no por MCP --- ## Forzar regeneración de minified Si subes solo `js`, el `minified/script-{hash}.js` NO se regenera automáticamente. **Solución:** 1. Leer el HTML actual de prod con `get_module` (sections: `["html"]`) 2. Añadir un espacio al final 3. `save_module` con los 3 (html+espacio, js, css) **IMPORTANTE:** Usar SIEMPRE el HTML de prod (`get_module`), NUNCA el local. --- ## General Sections (`custom-*`) Se despliegan con `save_general_section`, no `save_module`: - El módulo se llama `custom-{nombre_tabla}` (ej: `custom-productos`) - Se sube con `table: "productos"`, `content`, `javascript`, `css` --- ## Sync y Versionado ### Sync from server puede borrar módulos locales El "Sync from server" puede eliminar módulos que existen en local pero no en el servidor. Si borra `custom-header` o `custom-footer`, TODAS las páginas crashean. **Regla:** Hacer commit ANTES de cualquier sync. ### Sync solo sube archivos modificados Para forzar un sync de un archivo sin cambios reales, añadir un espacio al final.