diff --git a/CLAUDE.md b/CLAUDE.md index 81ec32d..b741045 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -105,15 +105,15 @@ Do NOT modify web-base files — they are shared across all projects. 1. **Before working with any area (hooks, modules, templates, CSS/JS, etc.), read the corresponding documentation in `docs/` first.** Do not guess or assume — always consult the docs before taking action. 2. **NEVER use `mkdir` to create directories.** Instead, use `acai-write` to create the first file inside the directory — this creates parent directories automatically. For example, to create a new module, directly write the `index-base.tpl` file. 3. Only edit `index-base.tpl` in modules — `index.tpl`, `index-twig.tpl`, and `builder.json` are auto-generated -3. Editing or creating any `index-base.tpl` through `acai-write` or `acai-line-replace` triggers automatic compilation. Only use `compile_module` manually if you need to re-run compilation without changing the file. -4. Use Twig **filters** (with `|`), never Twig functions -5. Table names without `cms_` prefix everywhere -6. Primary key is `num`, never `id` -7. Upload fields are arrays — access with `[0].urlPath` -8. Tailwind CSS as primary styling, custom CSS scoped with BEM when needed -9. Twig concatenation uses `~` operator: `'value=' ~ variable` -10. `enlace` (link) fields already include slashes — **NEVER modify an existing enlace** unless explicitly asked -11. **NEVER modify the `controlador` field** of existing records — it defines whether a page is Builder or Standard +4. Editing or creating any `index-base.tpl` through `acai-write` or `acai-line-replace` triggers automatic compilation. `compile_module` is only for manual recovery when you need to force a recompile without changing the file. +5. Use Twig **filters** (with `|`), never Twig functions +6. Table names without `cms_` prefix everywhere +7. Primary key is `num`, never `id` +8. Upload fields are arrays — access with `[0].urlPath` +9. Tailwind CSS as primary styling, custom CSS scoped with BEM when needed +10. Twig concatenation uses `~` operator: `'value=' ~ variable` +11. `enlace` (link) fields already include slashes — **NEVER modify an existing enlace** unless explicitly asked +12. **NEVER modify the `controlador` field** of existing records — it defines whether a page is Builder or Standard ## MCP Tools @@ -122,7 +122,7 @@ This project has MCP tools for managing modules, records, media, and more. **Bef See [docs/mcp-tools-reference.md](docs/mcp-tools-reference.md) for the complete list of available tools and step-by-step workflows. Key workflows: -- **Create module**: Read [docs/module-creation-guide.md](docs/module-creation-guide.md) first → create files with `acai-write` / refine with `acai-line-replace` → automatic compile on `index-base.tpl` → `add_module_to_record` (returns sectionId) → `set_module_config_vars` (returns uploadFields) → images via uploadFields +- **Create module**: Read [docs/module-creation-guide.md](docs/module-creation-guide.md) first → create files with `acai-write` / refine with `acai-line-replace` → automatic compile on `index-base.tpl` → `add_module_to_record` (returns sectionId) → `set_module_config_vars` (returns uploadFields) → images via uploadFields. Use `compile_module` only if you need a manual recompile without editing the file. - **Edit module**: `acai-view` → `acai-line-replace` (or `acai-write` for full rewrites) → automatic compile on `index-base.tpl` - **Add images**: use `uploadFields` from `set_module_config_vars` response → `upload_record_image` - **Generate images**: `generate_image` → `upload_record_image` with returned URL diff --git a/docs/mcp-tools-reference.md b/docs/mcp-tools-reference.md index 6643ca6..3006124 100644 --- a/docs/mcp-tools-reference.md +++ b/docs/mcp-tools-reference.md @@ -4,7 +4,7 @@ | Tool | Categoría | Acción | |------|-----------|--------| -| `compile_module` | Módulos | Recompila manualmente un módulo cuando necesitas forzar la compilación sin editar el archivo | +| `compile_module` | Módulos | Recompilación manual de rescate cuando necesitas forzar la compilación sin editar el archivo | | `check_module` | Módulos | Preview de cómo renderiza un módulo | | `check_module_usage` | Módulos | Qué páginas usan un módulo | | `acai-view` | Archivos | Lee un archivo del proyecto por tramos | diff --git a/docs/module-creation-guide.md b/docs/module-creation-guide.md index 284e7ac..f97eb35 100644 --- a/docs/module-creation-guide.md +++ b/docs/module-creation-guide.md @@ -39,7 +39,7 @@ Each module lives in `template/estandar/modulos//` with: 1. **Read style reference** (steps above) 2. **`acai-write`** — Create the module files directly (`index-base.tpl`, `style.css`, `script.js`, optional `hook.php`) using project-relative paths and complete file contents. -3. **Automatic compile** — Writing `index-base.tpl` automatically creates the generated template placeholders and triggers compilation. Only use `compile_module` manually if you need to re-run compilation without changing the file. +3. **Automatic compile** — Writing `index-base.tpl` automatically creates the generated template placeholders and triggers compilation. `compile_module` is only a manual recovery tool if you need to force a recompile without changing the file. 4. **`add_module_to_record`** — Adds the module to a page. Response includes `sectionId` — use it directly in the next step. 5. **`set_module_config_vars`** — Fill variables with content. Response includes `uploadFields` with `{ fieldName, recordNum }` for each upload variable. 6. **Upload images** — Use `generate_image` then `upload_record_image` with the `recordNum` and `fieldName` from step 5's `uploadFields`. No need to read builder.json or call get_module_config_vars.