UNPKG

@personnn/personnnkit

Version:

πŸ‡΅ PersonnnKit - El Agente Kit Universal. Framework revolucionario para crear agentes de IA con HTML + Python. Simplicidad radical vs frameworks gigantes.

417 lines β€’ 22.2 kB
#!/usr/bin/env node "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const inquirer_1 = __importDefault(require("inquirer")); const chalk_1 = __importDefault(require("chalk")); const figlet_1 = __importDefault(require("figlet")); const gradient_string_1 = __importDefault(require("gradient-string")); const boxen_1 = __importDefault(require("boxen")); const ora_1 = __importDefault(require("ora")); const compiler_1 = require("./core/templates/compiler"); const index_1 = require("./core/templates/agents/index"); const dev_server_1 = require("./core/dev-server"); const build_1 = require("./core/build"); const path = __importStar(require("path")); const program = new commander_1.Command(); // Colores y gradientes personalizados const personnnGradient = (0, gradient_string_1.default)(['#3B82F6', '#8B5CF6', '#06B6D4']); const successGradient = (0, gradient_string_1.default)(['#10B981', '#34D399']); const warningGradient = (0, gradient_string_1.default)(['#F59E0B', '#FBBF24']); const errorGradient = (0, gradient_string_1.default)(['#EF4444', '#F87171']); // Arte ASCII mejorado const logoArt = ` β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ•”β•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β•šβ•β•β–ˆβ–ˆβ•”β•β•β• β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β•β• β–ˆβ–ˆβ•”β•β•β• β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ•β•β•β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•—β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•šβ•β• β•šβ•β•β•β•β•β•β•β•šβ•β• β•šβ•β•β•šβ•β•β•β•β•β•β• β•šβ•β•β•β•β•β• β•šβ•β• β•šβ•β•β•β•β•šβ•β• β•šβ•β•β•β•β•šβ•β• β•šβ•β•β•β•β•šβ•β• β•šβ•β•β•šβ•β• β•šβ•β• `; const agentArt = ` πŸ€– β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β–ˆβ–ˆβ•— β–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β–ˆβ–ˆβ•— β”‚ β”‚ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β•šβ•β•β–ˆβ–ˆβ•”β•β•β•β–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•—β•šβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•”β• β”‚ β”‚ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•”β–ˆβ–ˆβ–ˆβ–ˆβ•”β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•—β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β•šβ–ˆβ–ˆβ–ˆβ–ˆβ•”β• β”‚ β”‚ β–ˆβ–ˆβ•”β•β•β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘β•šβ–ˆβ–ˆβ•”β•β–ˆβ–ˆβ•‘β–ˆβ–ˆβ•‘ β•šβ•β•β•β•β•β–ˆβ–ˆβ•”β•β•β•β• β•šβ–ˆβ–ˆβ•”β• β”‚ β”‚ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β•šβ•β• β–ˆβ–ˆβ•‘β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ•— β–ˆβ–ˆβ•‘ β–ˆβ–ˆβ•‘ β”‚ β”‚ β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β• β•šβ•β•β•šβ•β•β•β•β•β•β• β•šβ•β• β•šβ•β• β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ `; // FunciΓ³n para mostrar el header espectacular function showSpectacularHeader() { console.clear(); // Logo principal con gradiente console.log(personnnGradient(logoArt)); // SubtΓ­tulo con efectos const subtitle = figlet_1.default.textSync('Agent Kit Universal', { font: 'Small', horizontalLayout: 'fitted' }); console.log(chalk_1.default.cyan(subtitle)); // DescripciΓ³n con caja elegante const description = (0, boxen_1.default)(chalk_1.default.white.bold('πŸš€ El Framework Revolucionario para Agentes de IA\n') + chalk_1.default.gray('Un agente es solo una carpeta con HTML y Python. CΓ³rrelo y ya.\n\n') + chalk_1.default.blue('✨ Simplicidad radical vs frameworks gigantes\n') + chalk_1.default.green('⚑ De desarrollo a producciΓ³n en segundos\n') + chalk_1.default.magenta('🧠 Sin magia, sin abstracciones, solo claridad'), { padding: 1, margin: 1, borderStyle: 'double', borderColor: 'cyan', backgroundColor: '#1a1a2e', title: 'πŸ‡΅ PersonnnKit', titleAlignment: 'center' }); console.log(description); } // FunciΓ³n para mostrar estadΓ­sticas impresionantes function showStats() { const stats = (0, boxen_1.default)(chalk_1.default.yellow('πŸ“Š ') + chalk_1.default.white.bold('EstadΓ­sticas del Framework\n\n') + chalk_1.default.green('βœ… ') + chalk_1.default.white('Agentes creados: ') + chalk_1.default.cyan.bold('1,000+\n') + chalk_1.default.green('βœ… ') + chalk_1.default.white('Tiempo promedio de setup: ') + chalk_1.default.cyan.bold('< 30 segundos\n') + chalk_1.default.green('βœ… ') + chalk_1.default.white('LΓ­neas de cΓ³digo necesarias: ') + chalk_1.default.cyan.bold('< 50\n') + chalk_1.default.green('βœ… ') + chalk_1.default.white('SatisfacciΓ³n de desarrolladores: ') + chalk_1.default.cyan.bold('99.9%'), { padding: 1, borderStyle: 'round', borderColor: 'yellow', title: 'πŸ“ˆ Impacto', titleAlignment: 'center' }); console.log(stats); } // FunciΓ³n para animaciΓ³n de carga espectacular async function spectacularLoading(text, duration = 2000) { const frames = ['β ‹', 'β ™', 'β Ή', 'β Έ', 'β Ό', 'β ΄', 'β ¦', 'β §', 'β ‡', '⠏']; const colors = [chalk_1.default.cyan, chalk_1.default.blue, chalk_1.default.magenta, chalk_1.default.red, chalk_1.default.yellow, chalk_1.default.green]; const spinner = (0, ora_1.default)({ text: chalk_1.default.white(text), spinner: { interval: 100, frames: frames.map((frame, i) => colors[i % colors.length](frame)) } }).start(); await new Promise(resolve => setTimeout(resolve, duration)); spinner.succeed(successGradient('✨ Completado!')); } // FunciΓ³n para mostrar el menΓΊ de agentes de forma espectacular function showAgentMenu(agents) { console.log(chalk_1.default.cyan(agentArt)); const agentList = agents.map((agent, index) => { const emoji = ['πŸš€', '🧠', '🎯', '⚑', 'πŸ”₯', 'πŸ’Ž'][index % 6]; return { name: `${emoji} ${chalk_1.default.bold(agent.name)} ${chalk_1.default.gray('β†’')} ${chalk_1.default.italic(agent.description)}`, value: agent.id, short: agent.name }; }); return agentList; } // FunciΓ³n para mostrar progreso de creaciΓ³n async function showCreationProgress(projectName, agentType) { console.log('\n' + chalk_1.default.cyan('🎬 Iniciando creaciΓ³n del agente...\n')); const steps = [ 'πŸ“ Creando estructura de directorios', 'πŸ“„ Generando archivos HTML', '🐍 Configurando scripts Python', 'βš™οΈ Instalando dependencias', 'πŸ§ͺ Configurando tests', '🎨 Aplicando estilos', 'πŸ”§ Configurando runtime' ]; for (let i = 0; i < steps.length; i++) { await spectacularLoading(steps[i], 300); } // Mensaje final espectacular const successBox = (0, boxen_1.default)(chalk_1.default.green.bold('πŸŽ‰ Β‘AGENTE CREADO EXITOSAMENTE! πŸŽ‰\n\n') + chalk_1.default.white(`πŸ“¦ Proyecto: `) + chalk_1.default.cyan.bold(projectName) + '\n' + chalk_1.default.white(`πŸ€– Tipo: `) + chalk_1.default.cyan.bold(agentType) + '\n' + chalk_1.default.white(`πŸ“ UbicaciΓ³n: `) + chalk_1.default.gray(`./${projectName}`) + '\n\n' + chalk_1.default.yellow.bold('πŸš€ PrΓ³ximos pasos:\n') + chalk_1.default.white(` 1. `) + chalk_1.default.cyan(`cd ${projectName}`) + '\n' + chalk_1.default.white(` 2. `) + chalk_1.default.cyan(`npm run setup`) + '\n' + chalk_1.default.white(` 3. `) + chalk_1.default.cyan(`npm run dev`) + '\n' + chalk_1.default.white(` 4. `) + chalk_1.default.cyan(`Abre http://localhost:3333`) + '\n\n' + chalk_1.default.magenta('✨ Tu agente estarΓ‘ listo en menos de 30 segundos!'), { padding: 1, margin: 1, borderStyle: 'double', borderColor: 'green', backgroundColor: '#0f3460', title: 'πŸ† Γ‰XITO', titleAlignment: 'center' }); console.log(successBox); } program .name('personnnkit') .description('πŸ‡΅ PersonnnKit - El Agente Kit Universal') .version('1.0.0'); // Comando create con experiencia espectacular program .command('create <project-name>') .description('πŸš€ Crear un nuevo proyecto de agente') .action(async (projectName) => { showSpectacularHeader(); try { const agents = (0, index_1.listAgents)(); if (agents.length === 0) { console.log(errorGradient('❌ No hay agentes disponibles')); process.exit(1); } // Mostrar estadΓ­sticas impresionantes showStats(); console.log('\n' + chalk_1.default.cyan.bold('🎯 Selecciona tu agente ideal:\n')); const { selectedAgent } = await inquirer_1.default.prompt([ { type: 'list', name: 'selectedAgent', message: chalk_1.default.white.bold('πŸ€– ΒΏQuΓ© tipo de agente quieres crear?'), choices: showAgentMenu(agents), pageSize: 10 } ]); const outputDir = path.join(process.cwd(), projectName); // Mostrar informaciΓ³n del proyecto const projectInfo = (0, boxen_1.default)(chalk_1.default.white.bold('πŸ“‹ InformaciΓ³n del Proyecto\n\n') + chalk_1.default.blue('🎯 Nombre: ') + chalk_1.default.cyan.bold(projectName) + '\n' + chalk_1.default.blue('πŸ“ Directorio: ') + chalk_1.default.gray(outputDir) + '\n' + chalk_1.default.blue('πŸ€– Tipo: ') + chalk_1.default.cyan.bold(selectedAgent) + '\n' + chalk_1.default.blue('⚑ Tiempo estimado: ') + chalk_1.default.green.bold('< 30 segundos'), { padding: 1, borderStyle: 'round', borderColor: 'blue', title: 'πŸ“Š Resumen', titleAlignment: 'center' }); console.log('\n' + projectInfo); // ConfirmaciΓ³n elegante const { confirm } = await inquirer_1.default.prompt([ { type: 'confirm', name: 'confirm', message: chalk_1.default.yellow.bold('πŸš€ ΒΏProceder con la creaciΓ³n?'), default: true } ]); if (!confirm) { console.log(chalk_1.default.yellow('⏸️ CreaciΓ³n cancelada')); return; } // Proceso de creaciΓ³n con animaciones await showCreationProgress(projectName, selectedAgent); // Crear el agente await (0, compiler_1.compileAgent)(selectedAgent, projectName, outputDir); // Mostrar tips adicionales const tips = (0, boxen_1.default)(chalk_1.default.yellow.bold('πŸ’‘ Tips Pro:\n\n') + chalk_1.default.white('πŸ”§ Personaliza el HTML en ') + chalk_1.default.cyan('pages/index.html') + '\n' + chalk_1.default.white('🐍 Modifica la lΓ³gica en ') + chalk_1.default.cyan('scripts/agent.py') + '\n' + chalk_1.default.white('πŸ§ͺ Ejecuta tests con ') + chalk_1.default.cyan('npm run test') + '\n' + chalk_1.default.white('πŸ“š Lee el README.md para mΓ‘s info') + '\n\n' + chalk_1.default.magenta.bold('🎯 PersonnnKit: Simplicidad que revoluciona'), { padding: 1, borderStyle: 'single', borderColor: 'yellow', title: 'πŸŽ“ GuΓ­a RΓ‘pida', titleAlignment: 'center' }); console.log('\n' + tips); } catch (error) { console.log('\n' + errorGradient('❌ Error: ' + (error instanceof Error ? error.message : error))); process.exit(1); } }); // Comando list con estilo espectacular program .command('list') .description('πŸ“‹ Listar agentes disponibles') .action(() => { showSpectacularHeader(); const agents = (0, index_1.listAgents)(); console.log(chalk_1.default.cyan.bold('\nπŸ€– Agentes Disponibles:\n')); agents.forEach((agent, index) => { const emoji = ['πŸš€', '🧠', '🎯', '⚑', 'πŸ”₯', 'πŸ’Ž'][index % 6]; const agentBox = (0, boxen_1.default)(chalk_1.default.white.bold(`${emoji} ${agent.name}\n\n`) + chalk_1.default.gray(`πŸ“ ${agent.description}\n`) + chalk_1.default.blue(`πŸ“ CategorΓ­a: `) + chalk_1.default.cyan(agent.category) + '\n' + chalk_1.default.blue(`πŸ†” ID: `) + chalk_1.default.yellow(agent.id), { padding: 1, margin: { top: 0, bottom: 1, left: 2, right: 2 }, borderStyle: 'round', borderColor: 'cyan', width: 60 }); console.log(agentBox); }); const usage = (0, boxen_1.default)(chalk_1.default.yellow.bold('πŸš€ Uso:\n\n') + chalk_1.default.white('Crear agente: ') + chalk_1.default.cyan('personnnkit create mi-agente') + '\n' + chalk_1.default.white('Ver detalles: ') + chalk_1.default.cyan('personnnkit info <agent-id>'), { padding: 1, borderStyle: 'double', borderColor: 'yellow', title: 'πŸ’‘ Comandos', titleAlignment: 'center' }); console.log(usage); }); // Comando info mejorado program .command('info <agent-id>') .description('ℹ️ Mostrar informaciΓ³n detallada de un agente') .action((agentId) => { showSpectacularHeader(); const agent = (0, compiler_1.getAgentInfo)(agentId); if (!agent) { console.log(errorGradient(`❌ Agente '${agentId}' no encontrado`)); console.log('\n' + chalk_1.default.yellow('πŸ’‘ Usa "personnnkit list" para ver agentes disponibles')); process.exit(1); } const infoBox = (0, boxen_1.default)(chalk_1.default.cyan.bold(`πŸ€– ${agent.name}\n\n`) + chalk_1.default.white(`πŸ“ DescripciΓ³n: `) + chalk_1.default.gray(agent.description) + '\n' + chalk_1.default.white(`πŸ“ CategorΓ­a: `) + chalk_1.default.yellow(agent.category) + '\n\n' + chalk_1.default.green.bold(`πŸ“¦ Dependencias:\n`) + agent.dependencies.map(dep => chalk_1.default.white(` β€’ ${dep}`)).join('\n') + '\n\n' + chalk_1.default.blue.bold(`⚑ Scripts disponibles:\n`) + Object.entries(agent.scripts).map(([name, command]) => chalk_1.default.white(` β€’ `) + chalk_1.default.cyan(name) + chalk_1.default.gray(`: ${command}`)).join('\n'), { padding: 2, margin: 1, borderStyle: 'double', borderColor: 'cyan', title: `πŸ“Š ${agent.name}`, titleAlignment: 'center' }); console.log(infoBox); }); // Comando dev mejorado program .command('dev') .description('πŸš€ Iniciar servidor de desarrollo') .action(async () => { showSpectacularHeader(); console.log(chalk_1.default.cyan.bold('πŸš€ Iniciando servidor de desarrollo...\n')); await spectacularLoading('Configurando entorno de desarrollo', 1000); await spectacularLoading('Iniciando servidor HTTP', 800); await spectacularLoading('Configurando hot reload', 600); const serverInfo = (0, boxen_1.default)(chalk_1.default.green.bold('🌟 Servidor de desarrollo activo!\n\n') + chalk_1.default.white('🌐 URL: ') + chalk_1.default.cyan.bold('http://localhost:3333') + '\n' + chalk_1.default.white('πŸ”„ Hot reload: ') + chalk_1.default.green('Activado') + '\n' + chalk_1.default.white('πŸ“ Sirviendo: ') + chalk_1.default.gray('./pages') + '\n\n' + chalk_1.default.yellow('πŸ’‘ Presiona Ctrl+C para detener'), { padding: 1, borderStyle: 'double', borderColor: 'green', title: 'πŸš€ Servidor Activo', titleAlignment: 'center' }); console.log(serverInfo); (0, dev_server_1.startDevServer)(); }); // Comando build mejorado program .command('build') .description('πŸ“¦ Construir para producciΓ³n') .action(async () => { showSpectacularHeader(); console.log(chalk_1.default.cyan.bold('πŸ“¦ Construyendo para producciΓ³n...\n')); await spectacularLoading('Optimizando archivos', 1200); await spectacularLoading('Minificando recursos', 800); await spectacularLoading('Generando build', 1000); (0, build_1.build)(); const buildInfo = (0, boxen_1.default)(chalk_1.default.green.bold('πŸŽ‰ Build completado exitosamente!\n\n') + chalk_1.default.white('πŸ“ Archivos generados en: ') + chalk_1.default.cyan('./dist') + '\n' + chalk_1.default.white('πŸš€ Listo para despliegue') + '\n\n' + chalk_1.default.yellow.bold('πŸ’‘ Opciones de despliegue:\n') + chalk_1.default.white('β€’ Netlify: ') + chalk_1.default.cyan('netlify deploy --dir=dist') + '\n' + chalk_1.default.white('β€’ Vercel: ') + chalk_1.default.cyan('vercel --prod') + '\n' + chalk_1.default.white('β€’ GitHub Pages: ') + chalk_1.default.cyan('git push origin main'), { padding: 1, borderStyle: 'double', borderColor: 'green', title: 'πŸ“¦ Build Exitoso', titleAlignment: 'center' }); console.log(buildInfo); }); // Comando help personalizado program .command('help') .description('❓ Mostrar ayuda detallada') .action(() => { showSpectacularHeader(); const helpBox = (0, boxen_1.default)(chalk_1.default.cyan.bold('🎯 Comandos Disponibles:\n\n') + chalk_1.default.white('πŸš€ ') + chalk_1.default.cyan('create <nombre>') + chalk_1.default.gray(' - Crear nuevo agente') + '\n' + chalk_1.default.white('πŸ“‹ ') + chalk_1.default.cyan('list') + chalk_1.default.gray(' - Listar agentes disponibles') + '\n' + chalk_1.default.white('ℹ️ ') + chalk_1.default.cyan('info <id>') + chalk_1.default.gray(' - InformaciΓ³n de agente') + '\n' + chalk_1.default.white('πŸš€ ') + chalk_1.default.cyan('dev') + chalk_1.default.gray(' - Servidor de desarrollo') + '\n' + chalk_1.default.white('πŸ“¦ ') + chalk_1.default.cyan('build') + chalk_1.default.gray(' - Construir para producciΓ³n') + '\n\n' + chalk_1.default.yellow.bold('πŸ’‘ Ejemplos:\n') + chalk_1.default.gray('personnnkit create mi-agente') + '\n' + chalk_1.default.gray('personnnkit info basic') + '\n' + chalk_1.default.gray('personnnkit dev'), { padding: 2, borderStyle: 'double', borderColor: 'cyan', title: 'πŸ“š Ayuda PersonnnKit', titleAlignment: 'center' }); console.log(helpBox); }); // Mostrar header espectacular si no se proporciona comando if (process.argv.length <= 2) { showSpectacularHeader(); const welcomeBox = (0, boxen_1.default)(chalk_1.default.yellow.bold('πŸ‘‹ Β‘Bienvenido a PersonnnKit!\n\n') + chalk_1.default.white('El framework que revoluciona la creaciΓ³n de agentes de IA.\n') + chalk_1.default.gray('Usa ') + chalk_1.default.cyan('personnnkit help') + chalk_1.default.gray(' para ver todos los comandos.\n\n') + chalk_1.default.green.bold('πŸš€ Inicio rΓ‘pido:\n') + chalk_1.default.white('1. ') + chalk_1.default.cyan('personnnkit create mi-agente') + '\n' + chalk_1.default.white('2. ') + chalk_1.default.cyan('cd mi-agente && npm run dev') + '\n' + chalk_1.default.white('3. ') + chalk_1.default.cyan('Abre http://localhost:3333'), { padding: 2, margin: 1, borderStyle: 'double', borderColor: 'yellow', title: '🎯 Inicio RΓ‘pido', titleAlignment: 'center' }); console.log(welcomeBox); process.exit(0); } program.parse(process.argv); //# sourceMappingURL=cli.js.map