6.2 KiB
6.2 KiB
title, tags, load_priority, load_when, summary
| title | tags | load_priority | load_when | summary | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Tabla de decisión — qué tool usar para qué |
|
90 |
|
Tabla decisional 'intención del usuario → tool MCP'. Es la guía rápida para enrutar peticiones sin leer toda la doc. |
Tabla de decisión — qué tool usar
Tabla decisional para mapear la intención del usuario a la herramienta correcta. Si tu petición encaja con varias filas, la primera que matchee es la canónica.
Módulos (componentes visuales)
| Intención | Tool / workflow |
|---|---|
| Crear módulo nuevo | acai-write index-base.tpl (compila auto) → add_module_to_record → set_module_config_vars |
| Editar template de un módulo | acai-view → acai-line-replace (compila auto) |
| Ver datos actuales de un módulo en una página | get_module_config_vars({ tableName, recordNum, sectionId }) |
| Cambiar valores de un módulo | set_module_config_vars |
| Reordenar módulos en una página | reorder_module({ tableName, recordNum, sectionId, fromPosition, toPosition }) |
| Ocultar/mostrar un módulo | toggle_module_visibility({ sectionId, visible }) |
| Eliminar instancia de módulo de una página | remove_module_from_record({ sectionId }) |
| Borrar definición de módulo (carpeta entera) | delete_module({ moduleId, inUse }) — destructivo, confirma con user |
| Comprobar dónde se usa un módulo | check_module_usage({ moduleId }) |
| Preview de un módulo con datos de prueba | check_module({ moduleId, vars }) |
| Datos de ejemplo persistentes para preview | set_module_example_data({ moduleId, data }) |
Registros / contenido
| Intención | Tool / workflow |
|---|---|
| Listar registros de una tabla | list_table_records({ tableName, limit, where, orderBy, fields }) |
| Leer un registro concreto | get_record({ tableName, recordNum }) |
| Crear/actualizar un registro | create_or_update_record({ tableName, recordNum?, fields }) |
| Borrar registros | delete_table_records({ tableName, where }) (destructivo, confirma) |
| Listar módulos en una página Builder | list_page_modules({ tableName, recordNum }) |
Imágenes y uploads
| Intención | Tool / workflow |
|---|---|
| Generar imagen con IA | generate_image({ prompt, size? }) → recibe uploadUrl/fullUrl |
| Añadir imagen NUEVA a un campo upload | upload_record_image({ tableName, recordNum, fieldName, imageUrl }) |
| Listar imágenes existentes de un campo upload | list_record_uploads({ tableName, recordNum, fieldName }) → uploadId por imagen |
| Reemplazar imagen existente | list_record_uploads → replace_record_image({ uploadId, imageUrl }) |
| Borrar una imagen | list_record_uploads → delete_record_upload({ uploadId }) |
| Reordenar galería | list_record_uploads → reorder_record_uploads({ uploadIds: [...] }) |
Subir imagen a /images/ (assets globales del template) |
upload_image_to_assets({ imageUrl, fileName }) |
Tablas y campos (schema)
| Intención | Tool / workflow |
|---|---|
| Ver schema de una tabla | get_table_schema({ tableName, minimal? }) |
| Listar todas las tablas del proyecto | list_tables |
| Crear tabla | create_table({ tableName, displayName, menuType, enlace?, seoMetas? }) |
| Actualizar metadata de tabla | update_table_metadata({ tableName, ... }) |
| Borrar tabla | `delete_table({ tableName, dropTable: true |
| Reordenar tablas en el menú admin | reorder_tables({ order: [...] }) |
| Crear campo | create_field({ tableName, fieldName, type, label, ... }) |
| Modificar campo (renombrar, cambiar tipo) | update_field({ tableName, fieldName, newFieldName?, type?, ... }) |
| Borrar campo | delete_field({ tableName, fieldName, dropColumn }) (destructivo) |
| Reordenar campos | reorder_fields({ tableName, order: [...] }) |
| Regenerar enlaces (URLs) | regenerate_enlaces({ tableName, generateAlias? }) (destructivo si no aliases) |
Layout y librerías globales
| Intención | Tool / workflow |
|---|---|
| Ver header/footer/javascript/style/lo del layout | get_layout_field({ field }) |
| Modificar header/footer/scripts globales | set_layout_field({ field, value }) (destructivo, confirma) |
| Listar librerías cargadas | list_global_libraries |
| Añadir librería (CDN, npm) | `add_global_library({ url, position: "top" |
| Quitar librería | remove_global_library({ url }) |
| Reescribir todo el array de librerías | set_global_libraries({ libraries: [...] }) (destructivo) |
Hooks PHP
| Intención | Tool / workflow |
|---|---|
| Crear hook global | acai-write hooks/hooks.X.php (auto-registra en layout.json) |
| Crear hook de módulo | acai-write template/estandar/modulos/X/hook.php |
| Borrar hook global | acai-delete hooks/hooks.X.php (auto-quita de layout.json) |
| Renombrar hook global | acai-rename o acai-write con nuevo nombre + acai-delete del viejo |
| Hook que se ejecuta antes de cada página | set_hook_middleware({ hookEndPoint, middleWare: ["allurls"] }) |
| Hook que se ejecuta solo en una página | set_hook_middleware({ hookEndPoint, middleWare: ["cms_apartados-87"] }) |
| Ver middleware de un hook | get_hook_middleware({ hookEndPoint }) |
Archivos y filesystem
| Intención | Tool / workflow |
|---|---|
| Buscar archivos por glob | acai-glob({ pattern }) |
| Buscar texto en archivos | acai-grep({ query, path?, type? }) |
| Leer un archivo | acai-view({ file_path, start_line?, end_line? }) |
| Crear/sobrescribir un archivo | acai-write({ file_path, content }) |
| Reemplazar líneas en un archivo | acai-line-replace({ file_path, oldText, newText }) |
| Borrar un archivo | acai-delete({ file_path }) (destructivo) |
Proyecto y debugging
| Intención | Tool / workflow |
|---|---|
| URL del sitio (preview en desarrollo) | get_web_url (añade ?pruebas=1 siempre) |
| Navegar al browser preview del usuario | navigate_browser({ enlace }) |
| Token JWT expirado (errores 403) | refresh_acai_token |
| Volver a una versión anterior | list_git_log → recover_git({ id }) o recover_previous_git (destructivos, confirma) |
| Guardar estilos del proyecto en doc | save_project_styles |
| Necesito un doc no cargado | read_doc({ name: "..." }) |
| Listado de docs disponibles | list_docs |