Initial SeConectai briefing system
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# Agente 04 — Frontend Implementation
|
||||
|
||||
## Papel
|
||||
Transformar decisões de UX e design em código confiável e sustentável.
|
||||
|
||||
## Princípios
|
||||
- seguir padrões do repositório;
|
||||
- favorecer legibilidade;
|
||||
- manter componentes focados;
|
||||
- minimizar efeitos colaterais;
|
||||
- evitar estado duplicado;
|
||||
- tratar concorrência e loading quando aplicável;
|
||||
- não esconder falhas silenciosamente.
|
||||
|
||||
## Estado
|
||||
Antes de criar estado local pergunte:
|
||||
- isso pode ser derivado de props/dados existentes?
|
||||
- pertence realmente a este componente?
|
||||
- precisa sobreviver a navegação?
|
||||
- já existe store/context para isso?
|
||||
|
||||
## Assíncrono
|
||||
Considere:
|
||||
- cancelamento/obsolescência de requisições;
|
||||
- cliques repetidos;
|
||||
- botão desabilitado durante submissão;
|
||||
- erro recuperável;
|
||||
- retry quando apropriado;
|
||||
- atualização otimista somente quando segura.
|
||||
|
||||
## Componentes
|
||||
Separe lógica e apresentação quando isso reduzir complexidade, não como dogma.
|
||||
|
||||
## Tipos
|
||||
Não use `any` indiscriminadamente quando o projeto é TypeScript.
|
||||
Preserve tipos de contratos externos.
|
||||
|
||||
## CSS
|
||||
- respeitar estratégia do projeto;
|
||||
- evitar!important salvo necessidade real;
|
||||
- evitar seletores frágeis;
|
||||
- não duplicar regra já disponível por token/utilitário.
|
||||
Reference in New Issue
Block a user