Skip to content

🛠️ ¿Cómo utilizar Firefly JS?

El uso de Firefly JS se centra en tres pasos: instalación, configuración de piezas y ejecución del orquestador.

1. Instalación

Añade los paquetes base a tu proyecto:

bash
pnpm add -D @fireflyjs/cli @fireflyjs/core

Y los plugins/tools oficiales que necesites:

bash
pnpm add -D @fireflyjs/file-reader @fireflyjs/contract-reader @fireflyjs/contracts-analyzer

2. Configuración (firefly.config.ts)

Crea un archivo de configuración en la raíz. Aquí es donde conectas las Capacidades (Plugins) con las Acciones (Tools).

ts
import { defineConfig } from '@fireflyjs/core'
import { FileReaderPlugin } from '@fireflyjs/file-reader'
import { ContractReaderPlugin } from '@fireflyjs/contract-reader'
import { ContractAnalyzer } from '@fireflyjs/contracts-analyzer'

export default defineConfig({
  // Define qué capacidades tiene tu sistema (Lectura de archivos, contratos, etc.)
  plugins: [
    new FileReaderPlugin({
      include: ["./src/**/*"],
      exclude: ["**/node_modules/**"]
    }),
    new ContractReaderPlugin()
  ],
  // Define qué acciones quieres realizar con esas capacidades
  tools: [
    new ContractAnalyzer({
      aliases: { "@/*": "./src/*" }
    })
  ]
})

3. Comandos del CLI

firefly run

Ejecuta el sistema en modo "un solo disparo". Es ideal para:

  • CI/CD: Validar contratos antes de un merge.
  • Generación: Scaffolding de archivos basado en la estructura actual.

firefly watch

Inicia el sistema en modo reactivo. Mantiene el Kernel en memoria, permitiendo que los Drivers (sensores) detecten cambios y las herramientas den feedback instantáneo sin reiniciar.


💡 Scripts Recomendados

Añade estos scripts a tu package.json para facilitar el flujo de trabajo:

json
{
  "scripts": {
    "arch:check": "firefly run",
    "arch:watch": "firefly watch"
  }
}