Versión: 1.0.0 Creado: 2025-10-29 Autores: Sarah (@po), Winston (@architect) Propósito: Definir patrones estándar para integrar scripts de utilidades en el framework AIOX
Definición: La integración de utilidades es el proceso de hacer que un script de utilidad huérfano sea descubrible, documentado y utilizable dentro del framework AIOX.
Una utilidad se considera completamente integrada cuando:
- ✅ Registrada en core-config.yaml
- ✅ Referenciada por al menos un agente o tarea
- ✅ Documentada con propósito y uso
- ✅ Probada para asegurar que carga sin errores
- ✅ Descubrible a través de mecanismos del framework
Cuándo Usar: La utilidad proporciona funciones auxiliares que los agentes usan directamente
Pasos de Integración:
- Agregar utilidad al array
dependencies.utilsdel agente objetivo - Documentar propósito de la utilidad en archivo del agente
- Registrar en core-config.yaml si no está ya
- Probar que el agente carga exitosamente con la utilidad
Ejemplo: util-batch-creator
# .aiox-core/agents/dev.yaml
id: dev
name: Development Agent
dependencies:
utils:
- batch-creator # Crea lotes de tareas relacionadas
- code-quality-improverArchivos Modificados:
.aiox-core/agents/{agent}.yaml(agregar a dependencies.utils).aiox-core/core-config.yaml(registrar si es necesario).aiox-core/utils/README.md(documentar utilidad)
Cuándo Usar: La utilidad es llamada por una tarea durante la ejecución
Pasos de Integración:
- Identificar o crear tarea que usa la utilidad
- Agregar referencia de utilidad en sección
execution.utilsde la tarea - Documentar cómo la tarea usa la utilidad
- Registrar en core-config.yaml si no está ya
- Probar ejecución de tarea con utilidad
Ejemplo: util-commit-message-generator
# .aiox-core/tasks/generate-commit-message.md
id: generate-commit-message
name: Generate Commit Message
execution:
utils:
- commit-message-generator # Utilidad principal para esta tarea
steps:
- Analizar cambios preparados
- Generar mensaje de commit semántico usando util
- Presentar mensaje al usuario para aprobaciónArchivos Modificados:
.aiox-core/tasks/{task}.md(agregar execution.utils).aiox-core/agents/{agent}.yaml(agregar tarea a lista executes).aiox-core/core-config.yaml(registrar si es necesario).aiox-core/utils/README.md(documentar utilidad)
Cuándo Usar: La utilidad es usada por el framework mismo, no directamente por agentes/tareas
Pasos de Integración:
- Registrar en core-config.yaml bajo categoría apropiada
- Documentar en utils/README.md como "utilidad de framework"
- Agregar a documentación del framework
- Probar que utilidad carga en contexto del framework
Ejemplo: util-elicitation-engine
# .aiox-core/core-config.yaml
utils:
framework:
- elicitation-engine # Usado por flujo de trabajo de creación de agentes
- aiox-validatorArchivos Modificados:
.aiox-core/core-config.yaml(registrar bajo framework).aiox-core/utils/README.md(documentar como utilidad de framework)- Documentación del framework (si aplica)
Cuándo Usar: La utilidad realiza análisis o generación de documentación
Pasos de Integración:
- Agregar a utils del agente relevante (usualmente architect, qa, o agente docs)
- Crear o actualizar tarea que usa utilidad
- Documentar formato de análisis/salida
- Registrar en core-config.yaml
Ejemplo: util-documentation-synchronizer
# .aiox-core/agents/architect.yaml
dependencies:
utils:
- documentation-synchronizer # Mantiene docs sincronizados con código
- dependency-analyzerArchivos Modificados:
.aiox-core/agents/{agent}.yaml.aiox-core/tasks/{task}.md(si se crea tarea).aiox-core/core-config.yaml.aiox-core/utils/README.md
1. ANALIZAR
├─ Inspeccionar código de utilidad para entender propósito
├─ Identificar categoría de utilidad (auxiliar, ejecutor, analizador, etc.)
└─ Determinar patrón de integración apropiado
2. MAPEAR
├─ Identificar agente(s) objetivo que deberían usar utilidad
├─ Identificar o crear tarea(s) que llaman utilidad
└─ Documentar decisión de mapeo
3. INTEGRAR
├─ Agregar referencia de utilidad a archivos de agente/tarea
├─ Registrar en core-config.yaml (si no está ya)
└─ Documentar en utils/README.md
4. PROBAR
├─ Cargar utilidad para verificar sin errores
├─ Cargar agente para verificar que dependencia resuelve
├─ Probar ejecución de tarea si aplica
└─ Ejecutar detección de brechas para verificar corrección
5. DOCUMENTAR
├─ Agregar descripción de utilidad a README
├─ Documentar patrón de uso
├─ Notar qué agentes/tareas lo usan
└─ Actualizar mapa de arquitectura
Las utilidades deberían categorizarse para integración más fácil:
Propósito: Analizar, mejorar, validar código Patrón: Auxiliar de Agente (agentes dev, qa) Ejemplos: aiox-validator, code-quality-improver, coverage-analyzer
Propósito: Operaciones Git, automatización de flujo de trabajo Patrón: Ejecución de Tarea (agentes dev, github-devops) Ejemplos: commit-message-generator, branch-manager, conflict-resolver
Propósito: Generar, gestionar, buscar componentes Patrón: Auxiliar de Agente + Ejecución de Tarea Ejemplos: component-generator, component-search, deprecation-manager
Propósito: Generar, sincronizar, analizar documentación Patrón: Utilidad de Documentación (agentes architect, docs) Ejemplos: documentation-synchronizer, dependency-impact-analyzer
Propósito: Operaciones por lotes, auxiliares de framework Patrón: Varía (Auxiliar de Agente o Framework) Ejemplos: batch-creator, clickup-helpers, elicitation-engine
1. Prueba de Carga
// Verificar que utilidad carga sin errores
const utility = require('.aiox-core/utils/{utility-name}');
// No debería lanzar excepción2. Validación de Referencias
# Verificar que referencias de agente/tarea son válidas
node outputs/architecture-map/schemas/validate-tool-references.js3. Detección de Brechas
# Verificar que brecha está resuelta
node outputs/architecture-map/schemas/detect-gaps.js
# Debería mostrar 0 brechas para utilidad integrada4. Prueba de Integración (si aplica)
// Verificar que agente carga con dependencia de utilidad
const agent = loadAgent('agent-name');
// Debería incluir utilidad en dependencias resueltas### util-{name}
**Propósito:** Descripción breve de lo que hace la utilidad
**Usado Por:**
- agent-{name} (para {propósito})
- task-{name} (durante {fase})
**Patrón de Integración:** {nombre-del-patrón}
**Ubicación:** `.aiox-core/utils/{name}.js`
**Ejemplo de Uso:**
\`\`\`javascript
const util = require('./utils/{name}');
// Código de ejemplo
\`\`\`utils:
# Utilidades auxiliares de agente
helpers:
- batch-creator
- code-quality-improver
# Utilidades de ejecución de tareas
executors:
- commit-message-generator
- component-generator
# Utilidades de infraestructura del framework
framework:
- elicitation-engine
- aiox-validator
# Utilidades de análisis/documentación
analyzers:
- documentation-synchronizer
- dependency-analyzerUna utilidad está exitosamente integrada cuando:
✅ Descubrible:
- Listada en core-config.yaml
- Documentada en utils/README.md
- Referenciada por agente/tarea
✅ Funcional:
- Carga sin errores
- Agente/tarea puede usarla
- Pruebas pasan
✅ Validada:
- Detección de brechas muestra 0 brechas
- Validación de referencias pasa
- Pruebas de integración pasan
✅ Documentada:
- Propósito claramente establecido
- Ejemplos de uso proporcionados
- Patrón de integración identificado
❌ No hacer: Agregar utilidad a agente sin entender su propósito ✅ Hacer: Inspeccionar código primero, entender funcionalidad
❌ No hacer: Crear nueva tarea si tarea existente puede usar utilidad ✅ Hacer: Extender tareas existentes cuando sea apropiado
❌ No hacer: Registrar sin documentar ✅ Hacer: Siempre agregar entrada en README
❌ No hacer: Omitir pruebas ✅ Hacer: Verificar que utilidad carga y resuelve
| Patrón | Objetivo | Archivos Modificados | Prueba |
|---|---|---|---|
| Auxiliar de Agente | YAML de Agente | agent.yaml, core-config, README | Cargar agente |
| Ejecución de Tarea | MD de Tarea + Agente | task.md, agent.yaml, core-config, README | Ejecutar tarea |
| Framework | Framework | core-config, README, docs | Cargar utilidad |
| Documentación | Architect/Docs | agent.yaml, core-config, README | Detección de brechas |
Versión de Guía: 1.0.0 Última Actualización: 2025-10-29 Responsable: Winston (@architect)