Objetivo General: Convertir ideas en software funcional usando IA, mediante: Prompting estandarizado (JSON) Documentos de requisitos profesionales Despliegue sin código Objetivo Específico: Crear un software funcional para gestionar prompts. El software podrá ser versión mínima, sin embargo, se espera que un software como este permita al usuario realizar operaciones sobre archivos json que contienen información sobre prompts: crear, editar, ver, listar, eliminar, importar, exportar y demás operaciones útiles. el software cargara los prompts con la siguiente estructura: **[INICIO DEL PROMPT]** # **Documento de Requerimientos para el Estándar JSON de Gestión de Prompts (v1.1)** **Objetivo**: Establecer un formato JSON riguroso, sin ambigüedades ni redundancias, para la creación, gestión y ejecución de prompts en sistemas de IA. --- ## **1. Estructura General** El JSON debe contener **4 secciones principales**, cada una con campos **obligatorios** y **opcionales** bien definidos: 1. **Metadata Básica** (Identificación única y propiedades fundamentales) 2. **Contenido del Prompt** (Instrucciones, ejemplos y formato de salida) 3. **Gestión y Clasificación** (Organización para sistemas de búsqueda/filtrado) 4. **Datos Técnicos** (Requerimientos de ejecución y compatibilidad) --- ## **2. Campos Obligatorios (Strict Mode)** Cada prompt **DEBE** incluir estos campos sin excepción: ### **2.1. Metadata Básica** | Campo | Tipo | Descripción | Reglas de Validación | |----------------|---------|-----------------------------------------------------------------------------|-----------------------------------------------| | `id` | string | Identificador único | UUIDv4 (ej: `"550e8400-e29b-41d4-a716-446655440000"`) | | `title` | string | Nombre descriptivo | Máx. 120 caracteres, sin emojis | | `created_at` | string | Fecha de creación | ISO 8601 (UTC): `"YYYY-MM-DDTHH:MM:SSZ"` | | `language` | string | Idioma principal del prompt | Código ISO 639-1 (ej: `"es"`, `"en"`) | | `version` | string | Versión semántica del prompt | Formato `"MAJOR.MINOR.PATCH"` (ej: `"1.0.0"`)| ### **2.2. Contenido del Prompt** | Campo | Tipo | Descripción | Reglas de Validación | |------------------|---------|-----------------------------------------------------------------------------|-----------------------------------------------| | `prompt` | string | Instrucciones completas para la IA | Permitido Markdown (`**negrita**`, `*cursiva*`)| | `purpose` | string | Objetivo legible por humanos | Máx. 280 caracteres | | `output_format` | string | Tipo de salida generada | Valores fijos: `"text"`, `"image"`, `"code"`, `"json"`, `"audio"`| ### **2.3. Datos Técnicos** | Campo | Tipo | Descripción | Reglas de Validación | |-----------------------|----------|-----------------------------------------------------------------------------|-----------------------------------------------| | `compatible_models` | array | Modelos de IA validados | Lista no vacía (ej: `["GPT-4", "Claude-3"]`) | | `token_estimate` | integer | Tokens estimados para ejecución | Mín. 1, máx. 100,000 | --- ## **3. Campos Opcionales (Recomendados)** ### **3.1. Clasificación** | Campo | Tipo | Descripción | Reglas de Validación | |----------------|---------|-----------------------------------------------------------------------------|-----------------------------------------------| | `tags` | array | Etiquetas para búsqueda | Máx. 12 elementos, 20 chars c/u | | `categories` | array | Jerarquía temática | Máx. 5 categorías, con `name` y `subcategories`| | `stage` | string | Estado de desarrollo | Valores fijos: `"draft"`, `"testing"`, `"production"`, `"deprecated"`| ### **3.2. Autoría** | Campo | Tipo | Descripción | Reglas de Validación | |----------------|---------|-----------------------------------------------------------------------------|-----------------------------------------------| | `authors` | array | Autores y colaboradores | Cada objeto debe incluir `name` y `role` | | `license` | string | Licencia de uso | Valores fijos: `"MIT"`, `"Apache-2.0"`, `"CC-BY-4.0"`, `"Proprietary"`| ### **3.3. Ejecución** | Campo | Tipo | Descripción | Reglas de Validación | |----------------|---------|-----------------------------------------------------------------------------|-----------------------------------------------| | `dependencies` | array | IDs de otros prompts requeridos | Lista de UUIDv4 válidos | | `timeout` | string | Tiempo máximo de ejecución | Formato `"[NUMBER][s|m|h]"` (ej: `"30s"`) | --- ## **4. Reglas de Validación Estrictas** 1. **Estructura**: - No se permiten campos adicionales fuera de los definidos. - Los arrays no pueden estar vacíos si son obligatorios. 2. **Formato de Datos**: - Fechas: Siempre en UTC (`"Z"` al final). - Strings: Sin caracteres especiales no-ASCII (excepto en `prompt`). 3. **Consistencia**: - Si existe `modified_at`, debe ser ≥ `created_at`. - Si `stage` es `"deprecated"`, debe incluir `deprecation_reason`. 4. **Redundancia Cero**: - Prohibido usar campos como `description` y `purpose` simultáneamente. - Evitar duplicar información entre `tags` y `categories`. --- ## **5. Ejemplo de JSON Válido (Minimalista)** ```json { "id": "123e4567-e89b-12d3-a456-426614174000", "title": "Traductor técnico inglés-español", "created_at": "2024-04-20T12:00:00Z", "language": "es", "version": "1.0.0", "prompt": "Traduce el siguiente texto técnico de inglés a español, conservando términos especializados: [TEXTO]", "purpose": "Traducción precisa de documentación técnica", "output_format": "text", "compatible_models": ["GPT-4", "Claude-3", "Gemini Pro"], "token_estimate": 1200, "tags": ["traducción", "inglés", "español"], "stage": "production", "license": "MIT" } y adicional debe incluir estas acciones: A. Acciones Individuales (por Tarjeta) 1. CRUD Básico Crear: Nueva tarjeta con campos mínimos (id, title, created_at). Leer: Visualizar todos los campos en modo detalle. Editar: Modificar campos (con actualización automática de updated_at). Eliminar: Borrado físico o lógico (campo status=deleted). Restaurar: Recuperar tarjetas marcadas como eliminadas. 2. Operaciones de Estado Archivar: Cambiar estado a "archived" (ocultar sin eliminar). Deprecar: Marcar como "deprecated" (útil para obsolescencia). Cambiar etapa: Modificar campo stage (ej: "draft", "review", "published"). Bloquear/Desbloquear: Evitar ediciones accidentales. 3. Manipulación de Datos Duplicar: Copiar con nuevo id (manteniendo otros campos). Clonar con variantes: Duplicar permitiendo modificar campos clave. Refactorizar: Reestructurar campos (ej: dividir content en summary y details). Extraer metadatos: Generar automáticamente tags o categories desde el contenido. 4. Exportación/Representación Exportar a JSON: Guardar en formato estándar. Exportar a formato visual: PDF, PNG (renderizado estático). Compartir: Generar enlace público o embed code (HTML/iframe). Imprimir: Vista optimizada para impresión. B. Acciones Grupales (Múltiples Tarjetas) 1. Operaciones en Lote Seleccionar todas/deseleccionar: Gestión rápida. Edición masiva: Modificar un campo específico en múltiples tarjetas (ej: cambiar language). Reemplazo masivo: Buscar y reemplazar texto en campos seleccionados. Mover a proyecto: Asignar mismo valor de project. Asignar categoría/tags: Añadir o quitar valores de arrays. 2. Transformación Mergear: Combinar campos de varias tarjetas en una nueva. Dividir: Crear múltiples tarjetas desde una (ej: por secciones de contenido). Normalizar: Unificar formatos (ej: fechas en YYYY-MM-DD). 3. Gestión de Archivos Exportar colección: Zip con múltiples JSON u otros formatos. Importar lote: Cargar carpeta completa de archivos. Sincronizar: Comparar y actualizar desde fuente externa. C. Búsqueda y Filtrado 1. Básico Buscar texto libre: En todos los campos o seleccionados. Filtrar por campos: Combinar condiciones (status=active, project=Marketing). Ordenar: Por campos comunes (created_at, title). 2. Avanzado Búsqueda por regex: Patrones complejos en campos específicos. Búsqueda semántica: Similitud de contenido (ej: NLP para goal). Guardar búsquedas: Presets reutilizables ("Filtros guardados"). D. Importación/Exportación 1. Formatos Soportados Importar desde: JSON (estándar o custom). CSV/TSV (con mapeo de columnas). Markdown (front matter + content). Formatos legacy (.ini, .conf, .xlsx). Exportar a: CSV/Excel (para análisis). HTML/Markdown (para docs). Plantillas personalizables (Jinja, Handlebars). 2. Procesamiento Previsualizar parsing: Antes de importar. Mapeo de campos: Asignar columnas/valores a campos del JSON. Transformar durante importación: Ej: extraer tags de nombres de archivo. D. Importación/Exportación 1. Formatos Soportados Importar desde: JSON (estándar o custom). CSV/TSV (con mapeo de columnas). Markdown (front matter + content). Formatos legacy (.ini, .conf, .xlsx). Exportar a: CSV/Excel (para análisis). HTML/Markdown (para docs). Plantillas personalizables (Jinja, Handlebars). 2. Procesamiento Previsualizar parsing: Antes de importar. Mapeo de campos: Asignar columnas/valores a campos del JSON. Transformar durante importación: Ej: extraer tags de nombres de archivo. E. Validación y Mantenimiento Validar integridad: Campos obligatorios faltantes. Tipos de datos incorrectos (ej: date en formato inválido). Estadísticas: Conteo por categorías/proyectos. Histórico de cambios (si hay log). Limpiar datos: Eliminar campos vacíos. Normalizar whitespace en textos. F. UI/UX y Personalización Personalizar vista: Campos visibles en la rejilla. Ordenación por defecto. Temas y estilos: Modo oscuro/claro. Tamaños de fuente. Atajos de teclado: Para acciones frecuentes. ////////////////////////////////////////////////////////////////////////////////////////// parte 2: excelente ahora transforma esta idea en un solo archivo html con todas las funcionalidades antes mencionadas parte 3: Muy bien esta genial, continuando con nuestra idea quiero que valides las solicitudes anteriores y como la version anterior creala en un solo archivo html y con la siguiente lista valida si nuestro programa ya lo incluye si no incluyelas: -una interfaz minimalista -modo oscuro -esta es la version 6.1 quiero que se muestre -tambien quiero incluir un versionado de los prompts -debe incluir una barra lateral que se pueda mostrar y ocultar al gusto -que incluya una sección para aclarar dudas como ayuda explicando el funcionamiento del software -que contenga una papelera para recuperar los prompts eliminados o permita eliminarlos definitivamente -una seccion para archivar o desarchivar los prompts -que ademas apenas cargue el archivo .json lo valide y si no esta bien que muestre un aviso de error y que me indique donde esta el error en el codigo -mejora los botones de editar o eliminar quiero que sean una versión mejorada parte 4: Esta Genial nuestra idea, para finalizar con la version 6.3, realiza una mejora incremental con más código de calidad y logrando mas funcionalidades/requisitos. De igual forma documenta todo el html y, que contenga las siguiente lista y, de igual forma valida si las tiene si no agregalas: -una interfaz minimalista -modo oscuro -esta es la version 6.3 quiero que se muestre -tambien quiero incluir un versionado de los prompts -debe incluir una barra lateral que se pueda mostrar y ocultar al gusto -que incluya una sección para aclarar dudas como ayuda explicando el funcionamiento del software -que contenga una papelera para recuperar los prompts eliminados o permita eliminarlos definitivamente -una seccion para archivar o desarchivar los prompts -que ademas apenas cargue el archivo .json lo valide y si no esta bien que muestre un aviso de error y que me indique donde esta el error en el codigo -mejora los botones de editar o eliminar quiero que sean una versión mejorada -idioma del sistema,agrega minimo el ingles y español -que el boton para desplegar o ocultar la barra este ubicado en la parte izquierda -que cuando se ejecute el modo oscuro tambien cambien de color para que contraste las palabras claves de los prompts