nextjs-best-practices
Ajuda seu agente a aplicar os melhores princípios do Next.js App Router. Foca em Server Components, busca de dados e padrões de roteamento.
O que ela faz
Este guia ensina como usar o Next.js, um framework para criar sites e aplicativos web, seguindo as melhores práticas. Ele explica como dividir o código entre o servidor e o navegador, como buscar dados e organizar as páginas.
Quando usar
- ✓Ao iniciar um novo projeto Next.js.
- ✓Ao refatorar um projeto existente para melhorar a performance.
- ✓Ao aprender sobre componentes de servidor e cliente.
Exemplo do que pedir para a IA
“Como posso organizar minhas páginas em um projeto Next.js?”
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 Next.js divide o trabalho entre o servidor (onde a página é construída) e o navegador (onde o usuário interage). Ele usa convenções de arquivos e padrões específicos para otimizar a velocidade e a experiência do usuário.
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 nextjs-best-practicesOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/nextjs-best-practices/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.
Melhores Práticas do Next.js
Princípios para o desenvolvimento do Next.js App Router.
1. Componentes de Servidor vs. Cliente
Árvore de Decisão
Does it need...?
│
├── useState, useEffect, event handlers
│ └── Client Component ('use client')
│
├── Direct data fetching, no interactivity
│ └── Server Component (default)
│
└── Both?
└── Split: Server parent + Client child
Por Padrão
| Tipo | Uso |
|---|---|
| Servidor | Busca de dados, layout, conteúdo estático |
| Cliente | Formulários, botões, UI interativa |
2. Padrões de Busca de Dados
Estratégia de Busca
| Padrão | Uso |
|---|---|
| Padrão | Estático (cacheado na compilação) |
| Revalidate | ISR (atualização baseada em tempo) |
| No-store | Dinâmico (a cada requisição) |
Fluxo de Dados
| Fonte | Padrão |
|---|---|
| Banco de Dados | Busca em Componente de Servidor |
| API | fetch com cache |
| Entrada do Usuário | Estado do Cliente + Ação do Servidor |
3. Princípios de Roteamento
Convenções de Arquivo
| Arquivo | Propósito |
|---|---|
page.tsx |
UI da Rota |
layout.tsx |
Layout Compartilhado |
loading.tsx |
Estado de Carregamento |
error.tsx |
Limite de Erro |
not-found.tsx |
Página 404 |
Organização de Rotas
| Padrão | Uso |
|---|---|
Grupos de rotas (name) |
Organizar sem URL |
Rotas Paralelas @slot |
Múltiplas páginas no mesmo nível |
Interceptando (.) |
Modais sobrepostos |
4. Rotas de API
Manipuladores de Rota
| Método | Uso |
|---|---|
| GET | Ler dados |
| POST | Criar dados |
| PUT/PATCH | Atualizar dados |
| DELETE | Remover dados |
Melhores Práticas
- Valide a entrada com Zod
- Retorne códigos de status apropriados
- Lide com erros de forma graciosa
- Use o runtime Edge quando possível
5. Princípios de Desempenho
Otimização de Imagem
- Use o componente
next/image - Defina
prioritypara acima da dobra (above-the-fold) - Forneça um placeholder de blur
- Use tamanhos responsivos
Otimização de Bundle
- Importações dinâmicas para componentes pesados
- Divisão de código baseada em rota (automática)
- Analise com o bundle analyzer
6. Metadados
Estático vs. Dinâmico
| Tipo | Uso |
|---|---|
| Exportação estática | Metadados fixos |
generateMetadata |
Dinâmico por rota |
Tags Essenciais
title(50-60 caracteres)description(150-160 caracteres)- Imagens Open Graph
- URL canônica
7. Estratégia de Cache
Camadas de Cache
| Camada | Controle |
|---|---|
| Requisição | Opções de fetch |
| Dados | revalidate/tags |
| Rota Completa | Configuração da rota |
Revalidação
| Método | Uso |
|---|---|
| Baseado em tempo | revalidate: 60 |
| Sob demanda | revalidatePath/Tag |
| Sem cache | no-store |
8. Ações do Servidor
Casos de Uso
- Submissões de formulário
- Mutações de dados
- Gatilhos de revalidação
Melhores Práticas
- Marque com
'use server' - Valide todas as entradas
- Retorne respostas tipadas
- Lide com erros
9. Anti-Padrões
| ❌ Não Fazer | ✅ Fazer |
|---|---|
'use client' em tudo |
Servidor por padrão |
| Buscar em componentes cliente | Buscar no servidor |
| Ignorar estados de carregamento | Usar loading.tsx |
| Ignorar limites de erro | Usar error.tsx |
| Bundles cliente grandes | Importações dinâmicas |
10. Estrutura do Projeto
app/
├── (marketing)/ # Route group
│ └── page.tsx
├── (dashboard)/
│ ├── layout.tsx # Dashboard layout
│ └── page.tsx
├── api/
│ └── [resource]/
│ └── route.ts
└── components/
└── ui/
Lembre-se: Componentes de Servidor são o padrão por um motivo. Comece por eles, adicione cliente apenas quando necessário.
Quando Usar
Esta habilidade é aplicável para executar o fluxo de trabalho ou as ações descritas na visão geral.
Limitações
- Use esta habilidade apenas quando a tarefa corresponder claramente ao escopo descrito acima.
- Não trate a saída como substituta para validação específica do ambiente, testes ou revisão de especialistas.
- Pare e peça esclarecimentos se os inputs necessários, permissões, limites de segurança ou critérios de sucesso estiverem ausentes.
Perguntas frequentes
O que são Componentes de Servidor e Cliente?
Componentes de Servidor rodam no servidor e são ótimos para buscar dados. Componentes de Cliente rodam no navegador e são usados para interatividade, como botões e formulários.
Como o Next.js busca dados?
Você pode buscar dados de forma estática (no momento da construção), com atualizações periódicas ou a cada requisição, dependendo da sua necessidade.
O que são 'Server Actions'?
São funções que rodam no servidor para realizar ações como enviar formulários ou atualizar dados, de forma segura e eficiente.
Detalhes
Descrição original do autor
Next.js App Router principles. Server Components, data fetching, routing patterns.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3687
- 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