UNPKG

@thugdacake/operante

Version:

Cérebro Operante — o núcleo IA que invade e domina assistentes, criando uma mente única com Thug Developer

115 lines (106 loc) 3.59 kB
import { Command } from 'commander'; import chalk from 'chalk'; import dotenv from 'dotenv'; import { init } from './core/init'; import { validate } from './core/validate'; import { deploy } from './core/deploy'; import { registerPlugin } from './core/plugins'; import { on, emit } from './core/events'; // Carregar variáveis de ambiente dotenv.config(); // Criar CLI const program = new Command(); program .name('cerebro-operante') .description('Framework de Produção Universal para desenvolvimento de software') .version('1.0.0'); // Comando init program .command('init') .description('Inicializa o Cérebro Operante no projeto') .option('-c, --config <path>', 'Caminho para o arquivo de configuração') .action(async (options) => { try { console.log(chalk.blue('🧠 Inicializando Cérebro Operante...')); await init(options); console.log(chalk.green('✅ Inicialização concluída!')); } catch (error) { console.error(chalk.red('❌ Erro na inicialização:'), error); process.exit(1); } }); // Comando validate program .command('validate') .description('Valida o código do projeto') .option('-p, --path <path>', 'Caminho para validar') .option('-r, --report', 'Gerar relatório detalhado') .action(async (options) => { try { console.log(chalk.blue('🔍 Validando código...')); const result = await validate(options); console.log(chalk.green('✅ Validação concluída!')); if (options.report) { console.log(JSON.stringify(result, null, 2)); } } catch (error) { console.error(chalk.red('❌ Erro na validação:'), error); process.exit(1); } }); // Comando deploy program .command('deploy') .description('Realiza deploy do projeto') .option('-e, --env <environment>', 'Ambiente de deploy') .option('-f, --force', 'Forçar deploy sem confirmação') .action(async (options) => { try { console.log(chalk.blue('🚀 Iniciando deploy...')); const result = await deploy(options); console.log(chalk.green('✅ Deploy concluído!')); console.log(chalk.blue('📊 Métricas:'), result.metrics); } catch (error) { console.error(chalk.red('❌ Erro no deploy:'), error); process.exit(1); } }); // Comando plugin program .command('plugin') .description('Gerencia plugins do Cérebro Operante') .option('-a, --add <name>', 'Adicionar plugin') .option('-r, --remove <name>', 'Remover plugin') .option('-l, --list', 'Listar plugins instalados') .action(async (options) => { try { if (options.add) { console.log(chalk.blue(`📦 Instalando plugin: ${options.add}`)); await registerPlugin(options.add); console.log(chalk.green('✅ Plugin instalado!')); } else if (options.remove) { console.log(chalk.blue(`🗑️ Removendo plugin: ${options.remove}`)); // Implementar remoção de plugin console.log(chalk.green('✅ Plugin removido!')); } else if (options.list) { console.log(chalk.blue('📋 Plugins instalados:')); // Implementar listagem de plugins } } catch (error) { console.error(chalk.red('❌ Erro na operação:'), error); process.exit(1); } }); // Exportar API export { init, validate, deploy, registerPlugin, on, emit }; // Executar CLI se chamado diretamente if (require.main === module) { program.parse(process.argv); }