Guia de Integração de Utilitários
Versão: 1.0.0 Criado em: 2025-10-29 Autores: Sarah (@po), Winston (@architect) Propósito: Definir padrões para integração de scripts utilitários no framework AIOS
O que é Integração de Utilitários?
Definição: Integração de utilitários é o processo de tornar um script utilitário órfão descobrível, documentado e utilizável dentro do framework AIOS.
Um utilitário é considerado totalmente integrado quando:
- ✅ Registrado no core-config.yaml
- ✅ Referenciado por pelo menos um agente ou task
- ✅ Documentado com propósito e uso
- ✅ Testado para garantir que carrega sem erros
- ✅ Descobrível através dos mecanismos do framework
Padrões de Integração
Padrão 1: Utilitário Auxiliar de Agente
Quando Usar: Utilitário fornece funções auxiliares que agentes usam diretamente
Passos de Integração:
- Adicionar utilitário ao array
dependencies.utilsdo agente alvo - Documentar propósito do utilitário no arquivo do agente
- Registrar no core-config.yaml se ainda não estiver
- Testar que o agente carrega com sucesso com o utilitário
Exemplo: util-batch-creator
# .aios-core/agents/dev.yaml
id: dev
name: Agente de Desenvolvimento
dependencies:
utils:
- batch-creator # Cria lotes de tasks relacionadas
- code-quality-improverArquivos Modificados:
.aios-core/agents/[agent].yaml(adicionar a dependencies.utils).aios-core/core-config.yaml(registrar se necessário).aios-core/utils/README.md(documentar utilitário)
Padrão 2: Utilitário de Execução de Task
Quando Usar: Utilitário é chamado por uma task durante execução
Passos de Integração:
- Identificar ou criar task que usa o utilitário
- Adicionar referência do utilitário na seção
execution.utilsda task - Documentar como a task usa o utilitário
- Registrar no core-config.yaml se ainda não estiver
- Testar execução da task com o utilitário
Exemplo: util-commit-message-generator
# .aios-core/tasks/generate-commit-message.md
id: generate-commit-message
name: Gerar Mensagem de Commit
execution:
utils:
- commit-message-generator # Utilitário principal para esta task
steps:
- Analisar mudanças staged
- Gerar mensagem de commit semântica usando util
- Apresentar mensagem ao usuário para aprovaçãoArquivos Modificados:
.aios-core/tasks/[task].md(adicionar execution.utils).aios-core/agents/[agent].yaml(adicionar task à lista executes).aios-core/core-config.yaml(registrar se necessário).aios-core/utils/README.md(documentar utilitário)
Padrão 3: Utilitário de Infraestrutura do Framework
Quando Usar: Utilitário é usado pelo framework em si, não diretamente por agentes/tasks
Passos de Integração:
- Registrar no core-config.yaml na categoria apropriada
- Documentar no utils/README.md como “utilitário de framework”
- Adicionar à documentação do framework
- Testar que utilitário carrega no contexto do framework
Exemplo: util-elicitation-engine
# .aios-core/core-config.yaml
utils:
framework:
- elicitation-engine # Usado pelo workflow de criação de agente
- aios-validatorArquivos Modificados:
.aios-core/core-config.yaml(registrar em framework).aios-core/utils/README.md(documentar como utilitário de framework)- Docs do framework (se aplicável)
Padrão 4: Utilitário de Documentação/Análise
Quando Usar: Utilitário realiza análise ou geração de documentação
Passos de Integração:
- Adicionar aos utils do agente relevante (geralmente architect, qa, ou agente docs)
- Criar ou atualizar task que usa o utilitário
- Documentar formato de análise/saída
- Registrar no core-config.yaml
Exemplo: util-documentation-synchronizer
# .aios-core/agents/architect.yaml
dependencies:
utils:
- documentation-synchronizer # Mantém docs sincronizados com código
- dependency-analyzerArquivos Modificados:
.aios-core/agents/[agent].yaml.aios-core/tasks/[task].md(se criar task).aios-core/core-config.yaml.aios-core/utils/README.md
Workflow de Integração
Processo Padrão (para todos os padrões):
1. ANALISAR
├─ Inspecionar código do utilitário para entender propósito
├─ Identificar categoria do utilitário (auxiliar, executor, analisador, etc.)
└─ Determinar padrão de integração apropriado
2. MAPEAR
├─ Identificar agente(s) alvo que devem usar o utilitário
├─ Identificar ou criar task(s) que chamam o utilitário
└─ Documentar decisão de mapeamento
3. INTEGRAR
├─ Adicionar referência do utilitário aos arquivos de agente/task
├─ Registrar no core-config.yaml (se ainda não estiver)
└─ Documentar no utils/README.md
4. TESTAR
├─ Carregar utilitário para verificar que não há erros
├─ Carregar agente para verificar que dependência resolve
├─ Testar execução da task se aplicável
└─ Executar detecção de gaps para verificar correção
5. DOCUMENTAR
├─ Adicionar descrição do utilitário ao README
├─ Documentar padrão de uso
├─ Anotar quais agentes/tasks o usam
└─ Atualizar mapa de arquiteturaCategorização de Utilitários
Utilitários devem ser categorizados para facilitar integração:
Categoria 1: Qualidade de Código
Propósito: Analisar, melhorar, validar código Padrão: Auxiliar de Agente (agentes dev, qa) Exemplos: aios-validator, code-quality-improver, coverage-analyzer
Categoria 2: Git/Workflow
Propósito: Operações git, automação de workflow Padrão: Execução de Task (agentes dev, github-devops) Exemplos: commit-message-generator, branch-manager, conflict-resolver
Categoria 3: Gerenciamento de Componentes
Propósito: Gerar, gerenciar, buscar componentes Padrão: Auxiliar de Agente + Execução de Task Exemplos: component-generator, component-search, deprecation-manager
Categoria 4: Documentação
Propósito: Gerar, sincronizar, analisar documentação Padrão: Utilitário de Documentação (agentes architect, docs) Exemplos: documentation-synchronizer, dependency-impact-analyzer
Categoria 5: Batch/Auxiliares
Propósito: Operações em lote, auxiliares do framework Padrão: Varia (Auxiliar de Agente ou Framework) Exemplos: batch-creator, clickup-helpers, elicitation-engine
Requisitos de Teste
Para Cada Utilitário Integrado:
1. Teste de Carga
// Verificar que utilitário carrega sem erros
const utility = require('.aios-core/utils/{utility-name}');
// Não deve lançar erro2. Validação de Referência
# Verificar que referências de agente/task são válidas
node outputs/architecture-map/schemas/validate-tool-references.js3. Detecção de Gap
# Verificar que gap foi resolvido
node outputs/architecture-map/schemas/detect-gaps.js
# Deve mostrar 0 gaps para utilitário integrado4. Teste de Integração (se aplicável)
// Verificar que agente carrega com dependência do utilitário
const agent = loadAgent('agent-name');
// Deve incluir utilitário nas dependências resolvidasRequisitos de Documentação
Template de Entrada no utils/README.md:
### util-{name}
**Propósito:** Descrição breve do que o utilitário faz
**Usado Por:**
- agent-{name} (para {propósito})
- task-{name} (durante {fase})
**Padrão de Integração:** {nome-do-padrão}
**Localização:** `.aios-core/utils/{name}.js`
**Exemplo de Uso:**
\`\`\`javascript
const util = require('./utils/{name}');
// Código de exemplo
\`\`\`Registro no core-config.yaml
Adicionar utilitário à seção apropriada:
utils:
# Utilitários auxiliares de agente
helpers:
- batch-creator
- code-quality-improver
# Utilitários de execução de task
executors:
- commit-message-generator
- component-generator
# Utilitários de infraestrutura do framework
framework:
- elicitation-engine
- aios-validator
# Utilitários de análise/documentação
analyzers:
- documentation-synchronizer
- dependency-analyzerCritérios de Sucesso
Um utilitário é integrado com sucesso quando:
✅ Descobrível:
- Listado no core-config.yaml
- Documentado no utils/README.md
- Referenciado por agente/task
✅ Funcional:
- Carrega sem erros
- Agente/task pode usá-lo
- Testes passam
✅ Validado:
- Detecção de gap mostra 0 gaps
- Validação de referência passa
- Testes de integração passam
✅ Documentado:
- Propósito claramente declarado
- Exemplos de uso fornecidos
- Padrão de integração identificado
Armadilhas Comuns
❌ Não faça: Adicionar utilitário ao agente sem entender seu propósito ✅ Faça: Inspecionar código primeiro, entender funcionalidade
❌ Não faça: Criar nova task se task existente pode usar o utilitário ✅ Faça: Estender tasks existentes quando apropriado
❌ Não faça: Registrar sem documentar ✅ Faça: Sempre adicionar entrada no README
❌ Não faça: Pular testes ✅ Faça: Verificar que utilitário carrega e resolve
Referência Rápida
| Padrão | Alvo | Arquivos Modificados | Teste |
|---|---|---|---|
| Auxiliar de Agente | Agent YAML | agent.yaml, core-config, README | Carregar agente |
| Execução de Task | Task MD + Agent | task.md, agent.yaml, core-config, README | Executar task |
| Framework | Framework | core-config, README, docs | Carregar utilitário |
| Documentação | Architect/Docs | agent.yaml, core-config, README | Detecção de gap |
Versão do Guia: 1.0.0 Última Atualização: 2025-10-29 Mantenedor: Winston (@architect)