🛠️ Tools
Las herramientas (Tools) son las unidades de trabajo ejecutable en Fireflay. Se dividen principalmente en dos modos de operación.
🏃 Modo Run (TaskTool)
Las herramientas de tipo TaskTool están diseñadas para ejecutarse una sola vez y finalizar. Son ideales para:
- Scaffolding de archivos.
- Generación de reportes estáticos.
- Validaciones puntuales de CI.
ts
import { TaskTool, FFMicroKernel } from '@fireflayjs/core'
export class MiHerramienta extends TaskTool {
name = "MiHerramienta"
async run(kernel: FFMicroKernel): Promise<void> {
console.log("🚀 Ejecutando tarea...")
// Lógica de la herramienta
}
}👁️ Modo Watch (WatcherTool)
Las herramientas de tipo WatcherTool permanecen activas y reaccionan a eventos del sistema. Son ideales para:
- Observabilidad arquitectónica continua.
- Feedback en tiempo real durante el desarrollo.
- Detección de cambios prohibidos.
ts
import { WatcherTool, FFMicroKernel } from '@fireflayjs/core'
export class MiObservador extends WatcherTool {
name = "MiObservador"
async run(kernel: FFMicroKernel): Promise<void> {
console.log("👁️ Escuchando cambios...")
kernel.on('file:changed', (data) => {
console.log(`Cambio detectado en: ${data.filename}`)
})
}
}⚙️ Registro
Las herramientas se registran en el array tools del archivo de configuración fireflay.config.ts.
ts
import { MiHerramienta } from './tools/mi-herramienta'
export default defineConfig({
tools: [
new MiHerramienta()
]
})