refatoração dos agents
This commit is contained in:
parent
97acfb07df
commit
1177e31e56
104 changed files with 1068 additions and 3995 deletions
|
|
@ -1,16 +1,16 @@
|
|||
---
|
||||
type: workflow
|
||||
name: aprimorar-IA
|
||||
description: Consolidar aprendizados da conversa atual e evoluir continuamente as regras, skills e fluxos da aplicação
|
||||
name: aprimora-ia
|
||||
description: Otimizar o ecossistema da IA conforme identificado durante a conversa e registrar eventos na memória
|
||||
scope: global
|
||||
updatedAt: "2026-06-01"
|
||||
updatedAt: "2026-08-10"
|
||||
---
|
||||
|
||||
# Workflow: Aprimorar Conhecimento da Aplicação
|
||||
# Workflow: /aprimora-ia (Aprimoramento Contínuo e Registro de Memória)
|
||||
|
||||
## 🎯 Objetivo
|
||||
|
||||
Garantir que **toda decisão tomada** seja imediatamente incorporada ao conhecimento estruturado da aplicação, mantendo o sistema de rules, workflows e skills **coerente, atualizado, não redundante e sem contradições**.
|
||||
Analisar os aprendizados, alterações e decisões tomadas ao longo da conversa, aplicando as devidas otimizações diretamente nos artefatos do ecossistema (Rules, Workflows, Skills e Personas).
|
||||
|
||||
Este workflow é **obrigatório** e deve ser executado sempre que houver qualquer definição nova.
|
||||
|
||||
|
|
@ -25,7 +25,8 @@ O conhecimento do agente está organizado em **três tipos de artefatos**, cada
|
|||
| **Rules** | `.agent/base/global/rules/` | `.agent/local/rules/` | Restrições e convenções que o agente **deve respeitar sempre** |
|
||||
| **Workflows** | `.agent/base/global/workflows/` | `.agent/local/workflows/` | Processos sequenciais com passos numerados para tarefas bem definidas |
|
||||
| **Skills** | `.agent/base/global/skills/` | `.agent/local/skills/` | Guias operacionais completos e reutilizáveis para tarefas complexas recorrentes |
|
||||
| **Memória** | — | `.agent/memoria/` | Registros históricos, contexto do projeto, fatos e decisões importantes |
|
||||
| **Memória do Projeto** | — | `./.memoria-ia/` | Decisões de negócio, contexto do produto, especificações e ADRs (raiz do pai, versionado pelo pai) |
|
||||
| **Evoluções da IA** | `.agent/memory/` | — | Relatórios de sessões `/aprimora-ia`, otimizações dos agentes e melhorias da IA (versionado pelo submódulo) |
|
||||
|
||||
### Diferenças entre os artefatos
|
||||
|
||||
|
|
@ -171,87 +172,12 @@ Instruções com código, regras e padrões.
|
|||
- A skill **pode consolidar** conhecimento de múltiplas rules e workflows em um guia unificado
|
||||
- Templates de código devem estar na própria skill (não em arquivos separados, a menos que sejam muito grandes)
|
||||
|
||||
### Skills globais (herdadas de `.agent/base/`):
|
||||
|
||||
| Skill | Escopo |
|
||||
|-------|--------|
|
||||
| `mapear-codigo-fonte` | Mapear e navegar a estrutura de qualquer monorepo TS |
|
||||
| `diagnosticar-erros-build` | Diagnosticar erros de build em cascata entre pacotes |
|
||||
| `documentar-decisao-tecnica` | Registrar decisões técnicas como ADRs |
|
||||
|
||||
### Skills de projeto (criadas localmente em cada monorepo):
|
||||
|
||||
Cada projeto pode criar skills adicionais específicas em `.agent/local/skills/<nome>/SKILL`.
|
||||
Essas skills focam nos padrões e domínios exclusivos daquele projeto.
|
||||
|
||||
Exemplos de skills de projeto:
|
||||
|
||||
| Skill | Escopo |
|
||||
|-------|--------|
|
||||
| `criar-funcao-api` | Função de API end-to-end (comuns → back → front) |
|
||||
| `criar-componente-vue3` | Componente Vue 3 com padrões obrigatórios do projeto |
|
||||
| `consultar-banco-knex` | Queries Knex com padrões de leitura/escrita/JSONB |
|
||||
| `implementar-permissoes` | Controle de acesso específico do domínio |
|
||||
- Skills globais residem em `global/skills/`
|
||||
- Skills específicas do projeto residem em `.agent/local/skills/<nome>/SKILL`
|
||||
|
||||
---
|
||||
|
||||
## 5️⃣ Atualização da Memória (Obrigatória quando aplicável)
|
||||
|
||||
### 5A — Memória Local (arquivos)
|
||||
|
||||
Sempre que decisões críticas sobre a arquitetura da aplicação ou o contexto do domínio precisarem ser arquivadas temporária ou permanentemente de maneira descritiva (e não diretamente injetável em código ou regra de lint):
|
||||
|
||||
* Registre o novo documento no formato adequado mantendo a pasta limpa em `.agent/memoria/`.
|
||||
* Exemplo: Manter diário de pendências (`diario-pendencias-modulo-x`) ou ADR (`adr-001-migracao-nuxt-4`).
|
||||
* Atenção! Tudo que puder ser abstraído para formato técnico estrito deve virar **Skill** ou **Rule**. Use a Memória local apenas como extensão de base factual.
|
||||
|
||||
### 5B — Memória Corporativa (API Azteca — OBRIGATÓRIO)
|
||||
|
||||
**Todo conhecimento gerado durante a sessão DEVE ser registrado na Memória Corporativa** (`https://memoria-ia.idz.one`) seguindo a rule `global/rules/coleta-automatica-memorias`.
|
||||
|
||||
#### Gatilhos automáticos de registro:
|
||||
|
||||
| Evento na sessão | Categoria | Tipo | Registrar? |
|
||||
|-------------------|-----------|------|:---:|
|
||||
| Bug resolvido não trivial | `solucao-problemas` | `solucao-problemas` | 🔴 Obrigatório |
|
||||
| Decisão arquitetural tomada | `decisoes` | `adr` | 🔴 Obrigatório |
|
||||
| Regra de negócio descoberta/alterada | `regras-negocio` | `nota` | 🔴 Obrigatório |
|
||||
| Novo módulo ou funcionalidade | `modulos` | `referencia` | 🔴 Obrigatório |
|
||||
| Padrão técnico definido/alterado | `tecnologias` | `referencia` | 🔴 Obrigatório |
|
||||
| Migração de banco executada | `tecnologias` | `referencia` | 🟡 Recomendado |
|
||||
| Componente/padrão de UI definido | `tecnologias` | `referencia` | 🟡 Recomendado |
|
||||
| Refatoração significativa | `decisoes` | `adr` | 🟡 Recomendado |
|
||||
|
||||
#### Protocolo:
|
||||
|
||||
1. **Buscar antes de criar** — evitar duplicatas (`POST /api/busca`)
|
||||
2. **Criar com qualidade** — `titulo` pesquisável, `resumo` obrigatório, mínimo 3 `tags`, `criado_por` com @
|
||||
3. **Vincular** — relacionar com memórias existentes via `/api/vinculos/criar`
|
||||
4. **Contextualizar** — preencher `contexto` com nome do projeto/módulo
|
||||
|
||||
#### Exemplo de registro automático:
|
||||
|
||||
```bash
|
||||
curl -s -X POST "https://memoria-ia.idz.one/api/memorias/criar" \
|
||||
-H 'Content-Type: application/json' \
|
||||
-H "CHAVE: banana" \
|
||||
-d '{
|
||||
"titulo": "MODULO — Descrição clara do que foi feito/decidido",
|
||||
"conteudo": "### Contexto\n...\n### Decisão\n...\n### Impacto\n...",
|
||||
"resumo": "Síntese curta e pesquisável (10-500 chars)",
|
||||
"categoria": "CATEGORIA",
|
||||
"tipo": "TIPO",
|
||||
"tags": ["modulo", "tag2", "tag3"],
|
||||
"contexto": "NOME-DO-PROJETO",
|
||||
"criado_por": "@HANDLE_DO_AGENTE"
|
||||
}'
|
||||
```
|
||||
|
||||
> ⚠️ **Anti-padrão:** Encerrar sessão do workflow `aprimorar-IA` sem ter registrado na Memória Corporativa é considerado **trabalho incompleto**.
|
||||
|
||||
---
|
||||
|
||||
## 6️⃣ Revisão de Impacto (Dirigida por Grafo)
|
||||
## 5️⃣ Revisão de Impacto (Dirigida por Grafo)
|
||||
|
||||
Quando um artefato é alterado, a revisão deve ser **dirigida**, não exaustiva.
|
||||
|
||||
|
|
@ -297,9 +223,6 @@ Só é permitido encerrar se TODOS forem verdadeiros:
|
|||
* [ ] Referências cruzadas estão válidas
|
||||
* [ ] Estrutura está organizada por assunto
|
||||
* [ ] Skills referenciam (não duplicam) rules
|
||||
* [ ] **Conhecimento da sessão foi registrado na Memória Corporativa** (API Azteca)
|
||||
* [ ] **Memórias criadas possuem `resumo`, `tags` (≥3) e `criado_por` com @**
|
||||
* [ ] **Memórias relacionadas foram vinculadas** via `/api/vinculos/criar`
|
||||
|
||||
---
|
||||
|
||||
|
|
@ -101,5 +101,5 @@ Zero erros = concluído.
|
|||
|
||||
Se o workflow revelou novos padrões de negócio relevantes ao projeto:
|
||||
|
||||
- Criar ou atualizar ADR em `.agent/memoria/` via skill `documentar-decisao-tecnica`
|
||||
- Criar ou atualizar ADR via skill `documentar-decisao-tecnica`
|
||||
- Verificar se alguma rule precisa ser atualizada
|
||||
|
|
|
|||
|
|
@ -236,22 +236,11 @@ Após implementar:
|
|||
|
||||
---
|
||||
|
||||
## Anti-padrões a evitar
|
||||
|
||||
| ❌ Anti-padrão | ✅ Alternativa |
|
||||
|---|---|
|
||||
| Botão sem label de texto | Botão com ícone + texto, ou `aria-label` descritivo |
|
||||
| Cor vermelha para ação primária | Vermelho apenas para destrutivas; primária usa `--cor-eli-primaria` |
|
||||
| Modal com scroll interno extenso | Dividir em etapas ou usar drawer lateral |
|
||||
| Tabela com 15+ colunas visíveis | Usar o modal de colunas para esconder as menos usadas |
|
||||
| Placeholder como único label | Label fixo acima do campo + placeholder como exemplo |
|
||||
| Ações alinhadas à esquerda em linha de tabela | Ações à direita, próximas ao fim da linha visual |
|
||||
| Toast/snackbar sem ação de fechar | Sempre incluir botão de fechar ou auto-dismiss com tempo suficiente (5s+) |
|
||||
| Estilos inline em `<template>` | Migrar para `<style scoped>` com classe BEM |
|
||||
| Cor hex hardcoded no componente | Usar `var(--cor-eli-primaria)` e demais tokens com fallback |
|
||||
| Texto escuro (`#333`) sobre `--cor-eli-primaria` | Usar branco (`#FFFFFF`) para garantir contraste WCAG AA |
|
||||
| Amarelo/âmbar para sucesso | Âmbar é reservado para **aviso**; sucesso usa `--cor-eli-sucesso` (`#2E7D32`) |
|
||||
| Misturar stops da paleta fora dos tokens | Usar apenas os tokens definidos; nunca interpolar valores avulsos |
|
||||
| Usar `--cor-eli-media` ou `--cor-eli-acao` como fundo de cabeçalho | Usar `--cor-eli-primaria-suave` (`#BFC99C`) — verde mudo sem efeito limão |
|
||||
| `var(--token)` sem fallback em componente de biblioteca | Sempre declarar `var(--token, #valor)` — o projeto destino pode não ter o token atualizado |
|
||||
| Zebra de tabela sem fundo branco explícito nas linhas normais | Declarar `.eli-tabela__tr .eli-tabela__td { background: var(--cor-eli-superficie, #fff) }` antes da regra zebra |
|
||||
| Modal com scroll extenso | Dividir em etapas ou usar drawer lateral |
|
||||
| Tabela com 15+ colunas visíveis | Usar modal de colunas para ocultar secundárias |
|
||||
| Estilos inline em template | Usar `<style scoped>` com tokens CSS e fallback |
|
||||
| Cor hex hardcoded | Usar `var(--cor-eli-primaria, #688C00)` com fallback |
|
||||
Loading…
Add table
Add a link
Reference in a new issue