portal-frontend
Skill0 starsChanged 3 months agoMITView on GitHub
Regras de trabalho no frontend de um portal operacional Vue 3 + PrimeVue 4 + suite @wgalleti/primevue-components (W*). Use ao criar ou revisar QUALQUER tela, componente, composable, schema, rota, filtro, relatório de impressão ou ajuste visual no app — e ao decidir o que fica no app e o que vai para a suite. Gatilhos: 'nova tela', 'listagem', 'CRUD', 'formulário', 'dashboard', 'painel', 'card', 'KPI', 'filtro', 'breadcrumb', 'relatório/PDF', 'ajustar o visual', 'criar componente'.
In this repository14 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- site-docsSkill
- documentoSkill
- frontend-kickstartSkill
- geojsonSkill
- manual-docSkill
- mrSkill
- novo-projetoSkill
- projetoSkill
- prototipo-apiSkill
- prototipo-portalSkill
- sddSkill
- ui-ricaSkill
- wpvcSkill
The file
Files
Frontend do portal (app que consome a suite W*)
Portal Vue 3 de sistema operacional interno: o usuário passa o dia aqui — lança documento,
preenche análise, confere saldo. Por isso: densidade importa mais que impacto, teclado é
primeiro cidadão, consistência vence originalidade. Telas se escrevem por configuração
(schemas) sobre a suite W* — não por composição manual de HTML/inputs.
Adapte ao instalar. Esta skill é o esqueleto de regra que funciona num portal já em produção. Ajuste os caminhos da tabela abaixo, o nome da paleta e os gotchas para a realidade do seu repositório — e apague o que não se aplica. Começando um frontend do zero? Use antes a skill
frontend-kickstart, que monta a estrutura que esta skill pressupõe.
Onde está a verdade (não duplique aqui)
| Preciso de | Arquivo (ajuste ao seu repo) |
| Identidade, tokens, tipografia, densidade, shell, os 7 padrões de tela | DESIGN.md |
| Regra acionável: camadas, receitas de tela, proibições, checklist de PR | web/CLAUDE.md |
Qual W* usar, props que importam, o que não existe na suite | web/COMPONENTS.md |
| Valores exatos (cor, espaço, raio, densidade) | web/src/assets/css/tokens.css |
| API real da suite | node_modules/@wgalleti/primevue-components/dist/*.d.ts |
| Desvios abertos e prioridade de correção | docs/AUDIT.md |
| Implementar/publicar na suite | references/suite.md (aqui) |
| API da suite com exemplos | skill wpvc |
Se um número aparecer numa doc e no código, o código ganha. Esta skill é índice + regra — nunca cópia de conteúdo.
Regras inegociáveis
- Suite primeiro. Existe
W*? Use. Falta e é recorrente entre projetos? Implemente na suite (references/suite.md). Nunca editarnode_modules/. - Nada montado à mão. Tabela/form/dialog →
useAppCrud+WCrudView/WFormRenderer. Métricas →WKpiGrid+WKpiCard(enriqueça pelos slotsicon/value/hint/footercom SVG inline). Card em<div>com CSS próprio é desvio. - Escolha o padrão de tela ANTES do markup (
DESIGN.md, 7 opções). Nenhum encaixa → o escopo está errado, quebre em duas telas. - Schema primeiro.
ColumnDef[]/FieldDef[]emsrc/schemas/é o primeiro arquivo do módulo — antes da page. - CRUD sempre pelo wrapper do app (
useAppCrud), nuncauseCrudManagerdireto — é o que garante o Enter-navega em toda tela. Form fora de CRUD →useEnterNav. - Datas =
WDatePicker(stringYYYY-MM-DD); período =WDateRange. ProibidoparseDate/toISOStringcopiado. - Token, nunca hex/px. Cor, altura, padding, raio, transição — tudo CSS var. Exceção única:
as páginas de impressão (
pages/relatorios/**,pages/print/**). - Verde nunca é ação nem marca — só
--success(status).severity="success"num botão é desvio. Um primário por contexto; acento no máx. 1× por tela. - HTTP só pelo
dataProvider, URL registrada emENDPOINTS. Nunca importar axios na tela. - Breadcrumb registrado no mapa do layout — e nenhum breadcrumb local na página. É o item mais esquecido do checklist.
- Light + dark, compact + balanced. Escreveu
dark:de cor? Usou a cor errada. - Não rodar
yarn format/quality:fix— reescrevem o repo inteiro (churn enorme, risco de quebrar SFC). Valide comyarn lint:check+yarn build; formate só o que tocou.
Árvore de decisão
1. Que padrão de tela é? → DESIGN.md (7 opções)
2. Existe schema em src/schemas/{domínio}/? → não: crie PRIMEIRO
3. Existe W* que resolve? → COMPONENTS.md
├ sim → configuração mínima; slot só para override pontual
└ não → recorrente entre projetos? SIM: nasce na suite (references/suite.md)
NÃO: componente de domínio composto de W*
⚠️ em nenhum caso comece a escrever CSS de layout/paleta
4. Registre: endpoints → schema → composable → page → router → navigation → breadcrumbGotchas que já custaram tempo
Confira contra a versão da suite que você usa — alguns já podem ter sido corrigidos.
WDetailHeaderpode estourar se o build da suite não marcarvue-routercomoexternal: o bundle embute uma cópia do router, ouseRouter()interno injeta outroSymbol(router)e o botão voltar quebra (Cannot read properties of undefined (reading 'push')).resolve.dedupenão resolve — o código está embutido, não importado. Contorno:WPageHeader+ botão próprio.- O cabeçalho do
tokens.csspode mentir sobre qual escala é a primária. O que vale é o token--primary, não o comentário. - A suite pode resolver status pela paleta do Aura (
--p-green-500) em vez dos tokens do DS, e ignorar a densidade (tamanhos literais no CSS dela). Não "conserte" isso na tela — a correção é na suite, comvar(--success, var(--p-green-500))e afins. primary-50eprimary-500podem não existir como classe Tailwind (saem transparentes) mesmo com as outras funcionando — use os tokens.- Contexto global (unidade/safra/empresa) nunca entra na request: só preenche controle visível da tela. Filtro invisível é a origem clássica do "sumiu meu registro".
#before-tabledoWCrudViewsubstitui o bloco de KPIs padrão — reponha a margem inferior.- Totais de uma listagem vêm do bloco
extrasda API (um request só, calculado sobre o filtro inteiro), não de uma segunda chamada.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

