Referencia API
CLI API

CLI API

Interfaz de línea de comandos para acelerar tareas comunes.

Objetivos

  • Scaffold de proyectos
  • Generación de módulos / rutas / servicios
  • Utilidades de mantenimiento (lint, test, build)

Comandos Fundamentales (Diseño Propuesto)

fox create app <name>     # Crea nueva app base
fox generate route <name> # Genera archivo de ruta
fox generate service <name>
fox generate plugin <name>
fox test                  # Ejecuta suite de tests
fox build                 # Compila TypeScript
fox cache clear           # Limpia caché
fox db migrate            # Ejecuta migraciones

Estructura Interna

interface Command {
  name: string;
  description: string;
  options?: CommandOption[];
  action: (args, flags, context) => Promise<void>|void;
}

Registro de Comandos

import { Cli } from 'fox-framework';
 
Cli.register({
  name: 'hello',
  description: 'Demo',
  action: () => console.log('Hello Fox 🦊')
});
 
Cli.run(process.argv);

Flags / Opciones

Cli.register({
  name: 'create:service',
  description: 'Genera service',
  options: [ { flag: '--name <name>', desc: 'Nombre del service', required:true } ],
  action: ({ name }) => {
    // generar archivo basado en template
  }
});

Configuración Global

Archivo .foxrc (JSON / YAML) para:

  • Paths personalizados
  • Alias de comandos
  • Variables por entorno

Extensión via Plugins

Los plugins pueden registrar nuevos comandos:

plugin.initialize(ctx) {
  ctx.services.cli.register({...});
}

Buenas Prácticas

TemaRecomendación
UXMensajes claros y colorizados
ErroresSalir con código != 0
LoggingVerbose flag para debug
ScriptsIntegrar con npm scripts
PlantillasReutilizar templates parametrizados

Roadmap

  • Autocompletado shell
  • Telemetría de uso opcional
  • Config interactiva inicial