luinuxscl / prompts
Un paquete Laravel minimalista para gestionar y anidar prompts de texto
dev-main
2025-04-19 19:36 UTC
Requires
- php: ^8.2
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
This package is auto-updated.
Last update: 2025-06-19 20:05:45 UTC
README
Un paquete Laravel minimalista para gestionar y anidar prompts de texto con soporte para variables.
Características
- Gestión de prompts: Sistema sencillo para almacenar y recuperar plantillas de texto
- Anidamiento de prompts: Capacidad para incluir prompts dentro de otros prompts
- Variables personalizadas: Soporte para variables en formato
::variable::
- Normalización de nombres: Los nombres de prompts se normalizan automáticamente para evitar duplicados
- Sin interfaz gráfica: Diseñado para uso programático a través de un API simple
- Ligero y eficiente: Implementación minimalista sin dependencias innecesarias
Instalación
composer require luinuxscl/prompts
Publica las migraciones:
php artisan vendor:publish --provider="Luinuxscl\Prompts\PromptsServiceProvider" --tag="migrations"
Ejecuta las migraciones:
php artisan migrate
Opcionalmente, publica el archivo de configuración:
php artisan vendor:publish --provider="Luinuxscl\Prompts\PromptsServiceProvider" --tag="config"
Uso básico
Crear un prompt
use Luinuxscl\Prompts\Facades\Prompts; // Crear un prompt básico Prompts::create('saludo', 'Hola, bienvenido a nuestra plataforma.'); // Crear un prompt con descripción Prompts::create('despedida', 'Gracias por visitarnos.', 'Mensaje de despedida');
Anidar prompts
// Crear prompts que se pueden anidar Prompts::create('firma', 'Atentamente, El Equipo'); Prompts::create('email_completo', 'Hola cliente,\n\nGracias por tu mensaje.\n\n{{firma}}'); // Renderizar un prompt con anidamiento $mensaje = Prompts::render('email_completo'); // Resultado: "Hola cliente,\n\nGracias por tu mensaje.\n\nAtentamente, El Equipo"
Uso de variables
// Crear un prompt con variables Prompts::create('saludo_personal', 'Hola, ::nombre::! Bienvenido a ::plataforma::.'); // Renderizar el prompt con variables $mensaje = Prompts::render('saludo_personal', [ 'nombre' => 'Juan', 'plataforma' => 'Mi Aplicación' ]); // Resultado: "Hola, Juan! Bienvenido a Mi Aplicación."
Combinación de variables y anidamiento
// Crear prompts con anidamiento y variables Prompts::create('encabezado', 'AVISO IMPORTANTE DE ::empresa::'); Prompts::create('contenido', '{{encabezado}}\n\nEstimado/a ::cliente::,\n\nLe informamos que su cuenta ha sido activada correctamente.'); // Renderizar combinando ambas funcionalidades $mensaje = Prompts::render('contenido', [ 'empresa' => 'MiEmpresa S.A.', 'cliente' => 'Sr. Pérez' ]); /* Resultado: "AVISO IMPORTANTE DE MiEmpresa S.A. Estimado/a Sr. Pérez, Le informamos que su cuenta ha sido activada correctamente." */
Normalización de nombres
Los nombres de prompts se normalizan automáticamente: se convierten a minúsculas, se reemplazan espacios por guiones bajos y se recortan espacios al inicio y final. Esto hace que las siguientes llamadas sean equivalentes:
Prompts::render('Mi Prompt'); // Se busca como "mi_prompt" Prompts::render('mi_prompt'); // Coincide exactamente Prompts::render(' MI PROMPT '); // También se normaliza a "mi_prompt"
Licencia
MIT