From 790b56e6143c73fb168cc6e1798d049687b99bf3 Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 26 Oct 2026 20:25:21 -0300 Subject: [PATCH] refactor(ux): garantir agnosticismo polimorfico e exemplos neutros nos artefatos de UX --- agents/front/agent.json | 2 +- .../refactoring-ui-hierarquia-despoluicao.md | 20 ++--- agents/ux/agent.json | 4 +- agents/ux/agent.md | 10 +-- agents/ux/persona | 10 +-- agents/ux/rules/mensagens-usuario.md | 75 ++++++++++--------- .../refactoring-ui-hierarquia-despoluicao.md | 20 ++--- .../ux/skills/auditar-ux-heuristicas/SKILL.md | 6 +- agents/ux/skills/ux-fluxo-funcional/SKILL.md | 14 ++-- global/rules/mensagens-usuario.md | 75 ++++++++++--------- .../refactoring-ui-hierarquia-despoluicao.md | 20 ++--- global/skills/auditar-ux-heuristicas/SKILL.md | 6 +- global/skills/ux-fluxo-funcional/SKILL.md | 14 ++-- global/skills/ux/SKILL.md | 37 +++++---- global/workflows/ux.md | 37 +++++---- rules/mensagens-usuario.md | 75 ++++++++++--------- .../refactoring-ui-hierarquia-despoluicao.md | 20 ++--- skills/auditar-ux-heuristicas/SKILL.md | 6 +- skills/ux-fluxo-funcional/SKILL.md | 14 ++-- skills/ux/SKILL.md | 37 +++++---- validar-setup.sh | 11 +++ 21 files changed, 259 insertions(+), 254 deletions(-) diff --git a/agents/front/agent.json b/agents/front/agent.json index f379eb0..caf3d86 100644 --- a/agents/front/agent.json +++ b/agents/front/agent.json @@ -12,7 +12,7 @@ }, { "title": "Rules do Agente", - "content": "\n\n### estrutura-vue\n---\ntype: rule\nname: estrutura-vue\ndescription: Padrões obrigatórios de estrutura para componentes Vue 3 (defineComponent, setup, CSS, dispatch)\nscope: local\ntrigger: glob\nglobs: \"**/*.vue\"\nupdatedAt: \"2026-09-28\"\n---\n\n# Regra: Estrutura de Componentes Vue\n\n## 1. `defineComponent` obrigatório\n\nTodo componente Vue deve usar `defineComponent`:\n\n```vue\n\n```\n\n## 2. `setup()` não pode ser externo\n\nO `setup()` deve estar sempre dentro do `.vue`. Nunca delegar para arquivo externo.\n\n```ts\n// ❌ Proibido — setup esvaziado\nexport default defineComponent({\n setup(props, { emit }) {\n return useEliTabela(props, emit) // proxy vazio\n }\n})\n\n// ✅ Correto — setup com lógica própria\nexport default defineComponent({\n setup(props, { emit }) {\n const estado = ref(null)\n const carregar = async () => { ... }\n return { estado, carregar }\n }\n})\n```\n\n> Composables `use*.ts` podem encapsular lógica reutilizável pontual, mas nunca substituir o `setup()`. Se ultrapassar 250 linhas → extrair subcomponentes, CSS ou Dispatch Table.\n\n## 3. CSS co-localizado\n\nSeparação de estilos em arquivo externo quando o CSS contribui para o total de linhas:\n\n```\nMeuComponente.vue\nMeuComponente.css\n```\n\nImportar via `import './MeuComponente.css'` ou `