frontend-dev-guidelines
Ajuda seu agente a seguir regras rígidas de arquitetura e performance ao criar código. É útil para garantir que o código seja bem estruturado e rápido.
O que ela faz
Este guia ajuda programadores a criar sites e aplicativos web usando React. Ele estabelece regras claras sobre como organizar o código, buscar dados e garantir que tudo funcione bem e seja fácil de manter.
Quando usar
- ✓Ao criar novas partes de um site (componentes ou páginas).
- ✓Ao adicionar novas funcionalidades.
- ✓Ao buscar ou alterar informações no sistema.
Exemplo do que pedir para a IA
“Como devo organizar o código para uma nova funcionalidade de login?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
O guia usa uma abordagem chamada 'Suspense-first' para buscar dados, o que significa que a interface espera os dados carregar de forma elegante. Ele também exige que o código seja organizado em 'features' (funcionalidades) e que o TypeScript seja usado para evitar erros.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill frontend-dev-guidelinesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/frontend-dev-guidelines/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Diretrizes de Desenvolvimento Frontend
(React · TypeScript · Suspense-First · Produção)
Você é um engenheiro frontend sênior operando sob rigorosos padrões arquitetônicos e de performance.
Seu objetivo é construir aplicações React escaláveis, previsíveis e fáceis de manter usando:
- Fetch de dados com Suspense-first
- Organização de código baseada em funcionalidades
- Disciplina rigorosa de TypeScript
- Padrões de performance seguros
Essa habilidade define como o código frontend deve ser escrito, não apenas como ele pode ser escrito.
1. Índice de Viabilidade e Complexidade Frontend (IVCF)
Antes de implementar um componente, página ou funcionalidade, avalie a viabilidade.
Dimensões do IVCF (1–5)
| Dimensão | Pergunta |
|---|---|
| Adequação Arquitetônica | Isso se alinha com a estrutura baseada em funcionalidades e o modelo Suspense? |
| Carga de Complexidade | Quão complexa é a lógica de estado, dados e interação? |
| Risco de Performance | Isso introduz risco de renderização, bundle ou CLS? |
| Reutilização | Isso pode ser reutilizado sem modificação? |
| Custo de Manutenção | Quão difícil será entender isso em 6 meses? |
Fórmula de Pontuação
FFCI = (Architectural Fit + Reusability + Performance) − (Complexity + Maintenance Cost)
Intervalo: -5 → +15
Interpretação
| IVCF | Significado | Ação |
|---|---|---|
| 10–15 | Excelente | Prosseguir |
| 6–9 | Aceitável | Prosseguir com cuidado |
| 3–5 | Arriscado | Simplificar ou dividir |
| ≤ 2 | Ruim | Redesenhar |
2. Doutrina Arquitetônica Principal (Não Negociável)
1. Suspense é o Padrão
useSuspenseQueryé o hook de fetch de dados principal- Sem condicionais
isLoading - Sem spinners de retorno antecipado
2. Carregue Lentamente Tudo que For Pesado
- Rotas
- Componentes de entrada de funcionalidades
- Gráficos de dados, tabelas, editores
- Diálogos ou modais grandes
3. Organização Baseada em Funcionalidades
- A lógica de domínio reside em
features/ - Primitivas reutilizáveis residem em
components/ - Acoplamento entre funcionalidades é proibido
4. TypeScript é Rigoroso
- Sem
any - Tipos de retorno explícitos
import typesempre- Tipos são artefatos de design de primeira classe
Quando Usar
Use diretrizes-desenvolvimento-frontend quando:
- Criar componentes ou páginas
- Adicionar novas funcionalidades
- Buscar ou mutar dados
- Configurar roteamento
- Estilizar com MUI
- Abordar problemas de performance
- Revisar ou refatorar código frontend
3. Checklists de Início Rápido
Checklist de Novo Componente
-
React.FC<Props>com interface de props explícita - Carregado lentamente se não for trivial
- Envolvido em
<SuspenseLoader> - Usa
useSuspenseQuerypara dados - Sem retornos antecipados
- Handlers envolvidos em
useCallback - Estilos inline se <100 linhas
- Exportação padrão no final
- Usa
useMuiSnackbarpara feedback
Checklist de Nova Funcionalidade
- Criar
features/{feature-name}/ - Subdiretórios:
api/,components/,hooks/,helpers/,types/ - Camada de API isolada em
api/ - Exportações públicas via
index.ts - Entrada da funcionalidade carregada lentamente
- Limite de Suspense no nível da funcionalidade
- Rota definida sob
routes/
4. Apelidos de Importação (Obrigatório)
| Apelido | Caminho |
|---|---|
@/ |
src/ |
~types |
src/types |
~components |
src/components |
~features |
src/features |
Apelidos devem ser usados consistentemente. Importações relativas além de um nível são desencorajadas.
5. Padrões de Componentes
Ordem de Estrutura Obrigatória
- Tipos / Props
- Hooks
- Valores derivados (
useMemo) - Handlers (
useCallback) - Renderização
- Exportação padrão
Padrão de Carregamento Lento
const HeavyComponent = React.lazy(() => import('./HeavyComponent'));
Sempre envolvido em <SuspenseLoader>.
6. Doutrina de Fetch de Dados
Padrão Principal
useSuspenseQuery- Cache-first
- Respostas tipadas
Padrões Proibidos
❌ isLoading
❌ spinners manuais
❌ lógica de fetch dentro de componentes
❌ chamadas de API sem camada de API da funcionalidade
Regras da Camada de API
- Um arquivo de API por funcionalidade
- Sem chamadas axios inline
- Sem prefixo
/api/nas rotas
7. Padrões de Roteamento (TanStack Router)
- Apenas roteamento baseado em pastas
- Carregue lentamente componentes de rota
…
Perguntas frequentes
O que é 'Suspense-first'?
É uma forma de fazer a interface esperar os dados carregarem sem mostrar mensagens de 'carregando' piscando. A tela inteira espera de forma organizada.
Por que organizar em 'features'?
Ajuda a manter o código organizado, separando a lógica de cada parte do site. Isso torna mais fácil encontrar e modificar partes específicas sem afetar outras.
O que é TypeScript?
É uma ferramenta que adiciona verificações ao JavaScript, ajudando a encontrar erros antes que o código seja executado, tornando o desenvolvimento mais seguro e previsível.
Detalhes
Descrição original do autor
You are a senior frontend engineer operating under strict architectural and performance standards. Use when creating components or pages, adding new features, or fetching or mutating data.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3051
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
angular-developer
Ajuda seu agente a criar código Angular e a dar conselhos sobre a estrutura do projeto. É útil para iniciar novos projetos, criar partes do código ou melhorar a performance e acessibilidade.
affaan-m/ECC
frontend-a11y
Ajuda seu agente a tornar interfaces web acessíveis para todos. Ele garante que sites e apps funcionem bem com leitores de tela e navegação por teclado.
affaan-m/ECC
frontend-patterns
Faz seu agente aplicar padrões modernos no desenvolvimento frontend. Ele otimiza performance, gerencia estado e segue boas práticas em React e Next.js.
affaan-m/ECC