Initial commit

This commit is contained in:
Jordan
2026-04-01 23:16:45 +01:00
commit bc4199aed2
201 changed files with 25612 additions and 0 deletions

View File

@@ -0,0 +1,81 @@
/**
* Prompt: guia-campos-tablas
* Referencia de tipos de campos para crear/editar tablas y sus campos en la base de datos (MySQL/PHP)
*/
export const guiaCamposTablasPrompt = {
name: "guia-campos-tablas",
description: "Referencia de tipos de campos para crear/editar tablas y sus campos en la base de datos (MySQL/PHP)",
args: {},
handler: () => {
return {
messages: [
{
role: "user",
content: {
type: "text",
text: `Al modificar el esquema de la base de datos (crear/editar tablas), utiliza estos tipos de campos.
Presta especial atención a la configuración del campo 'list'.
### Campo LIST (Selector/Relación)
El tipo **'list'** es el más versátil. Define el origen de datos con \`optionsType\`:
1. **Lista Estática (optionsType: 'text')**
- Para opciones fijas simples.
- Formato: \`Valor|Etiqueta\` (una por línea).
- Ejemplo: \`optionsText: "1|Activo\\n0|Inactivo"\`
2. **Relación con Tabla (optionsType: 'table')**
- Para relacionar con otra tabla existente (Foreign Key lógica).
- \`optionsTablename\`: Nombre de la tabla origen (ej: 'cms_categorias').
- \`optionsValueField\`: Campo que se guardará como valor (ej: 'id').
- \`optionsLabelField\`: Campo que se mostrará al usuario (ej: 'nombre').
3. **Consulta SQL (optionsType: 'query')**
- Para relaciones complejas o filtradas.
- \`optionsQuery\`: Tu consulta SQL.
- Usa \`<?php echo $TABLE_PREFIX ?>\` para el prefijo.
- Usa \`<?php echo $ESCAPED_FILTER_VALUE ?>\` para filtros dinámicos.
**Visualización del 'list' (\`listType\`):**
- \`pulldown\`: Select estándar.
- \`radios\`: Botones de radio.
- \`checkboxes\`: Múltiples opciones (array).
- \`pulldownMulti\`: Select múltiple.
---
### Otros Campos Comunes
- **textfield**: Texto corto (VARCHAR). Opciones: \`defaultValue\`, \`fieldWidth\`.
- **textbox**: Texto largo (TEXT). Opciones: \`fieldHeight\`.
- **wysiwyg**: Editor HTML rico. Opciones: \`allowUploads\`.
- **date**: Fecha/Hora. Opciones: \`showTime\` (bool), \`use24HourFormat\` (bool).
- **checkbox**: Booleano. Configura \`checkedValue\` (ej: 1) y \`uncheckedValue\` (ej: 0).
- **upload**: Subida de archivos. Guarda la ruta relativa.
- **multitext**: Estructura JSON para guardar múltiples sub-valores en un solo campo.
- **codigo**: Editor de código fuente.
- **separator**: Solo visual, para organizar el formulario de edición.
**Atributos Globales:**
- \`isRequired\`: Obligatorio.
- \`isUnique\`: Valor único en la tabla.
- \`label\`: Nombre visible para el humano.
- \`name\`: Nombre de la columna en DB (slug).
`
}
}
]
};
}
};
export function registerGuiaCamposTablasPrompt(server) {
server.prompt(
guiaCamposTablasPrompt.name,
guiaCamposTablasPrompt.description,
guiaCamposTablasPrompt.args,
guiaCamposTablasPrompt.handler
);
}