Communitygithub.com

marnixGeerkens/rocketlauncher-claude-code

Princípios do Next.js App Router. Componentes de Servidor, busca de dados, padrões de roteamento.

O que é rocketlauncher-claude-code?

Este skill para agentes de IA como Claude Code ou Cursor fornece um guia abrangente e prático para o desenvolvimento com o Next.js App Router. Ele estabelece princípios fundamentais, começando pela decisão crucial entre Componentes de Servidor e Cliente, oferecendo uma árvore de decisão clara. O skill também cobre padrões eficientes de busca de dados, desde o uso de cache estático até a revalidação dinâmica, e detalha as convenções de arquivos para roteamento, como `page.tsx` e `layout.tsx`. Além disso, aborda a criação de rotas de API com validação de entrada, otimização de desempenho (imagens, bundle), estratégias de cache e o uso de Server Actions para mutações de dados. Ao final, lista anti-padrões comuns e sugere uma estrutura de projeto organizada, auxiliando o agente a gerar código mais limpo e eficiente seguindo as melhores práticas do Next.js.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/marnixGeerkens/rocketlauncher-claude-code/tree/HEAD/components/skills/development/nextjs-best-practices

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Melhores Práticas do Next.js

Princípios para desenvolvimento com o Next.js App Router.


1. Componentes de Servidor vs. Cliente

Árvore de Decisão

O componente precisa de...?
│
├── useState, useEffect, event handlers
│   └── Componente Cliente ('use client')
│
├── Busca direta de dados, sem interatividade
│   └── Componente de Servidor (padrão)
│
└── Ambos?
    └── Dividir: Servidor pai + Cliente filho

Por Padrão

TipoUso
ServidorBusca de dados, layout, conteúdo estático
ClienteFormulários, botões, UI interativa

2. Padrões de Busca de Dados

Estratégia de Fetch

PadrãoUso
PadrãoEstático (armazenado em cache na build)
RevalidateISR (atualização baseada em tempo)
No-storeDinâmico (a cada requisição)

Fluxo de Dados

OrigemPadrão
Banco de dadosFetch no Componente de Servidor
APIfetch com cache
Entrada do usuárioEstado no cliente + server action

3. Princípios de Roteamento

Convenções de Arquivo

ArquivoPropósito
page.tsxUI da rota
layout.tsxLayout compartilhado
loading.tsxEstado de carregamento
error.tsxLimite de erro
not-found.tsxPágina 404

Organização de Rotas

PadrãoUso
Grupos de rota (nome)Organizar sem alterar a URL
Rotas paralelas @slotMúltiplas páginas no mesmo nível
Interceptação (.)Sobreposições de modal

4. Rotas de API

Manipuladores de Rota

MétodoUso
GETLer dados
POSTCriar dados
PUT/PATCHAtualizar dados
DELETERemover dados

Melhores Práticas

  • Validar entrada com Zod
  • Retornar códigos de status adequados
  • Lidar com erros graciosamente
  • Usar o Edge runtime quando possível

5. Princípios de Performance

Otimização de Imagens

  • Usar componente next/image
  • Definir prioridade para conteúdo acima da dobra
  • Fornecer blur placeholder
  • Usar tamanhos responsivos

Otimização de Bundle

  • Importações dinâmicas para componentes pesados
  • Divisão de código baseada em rotas (automática)
  • Analisar com ferramenta de análise de bundle

6. Metadados

Estáticos vs. Dinâmicos

TipoUso
Exportação estáticaMetadados fixos
generateMetadataDinâ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

CamadaControle
RequisiçãoOpções do fetch
Dadosrevalidate/tags
Rota completaConfiguração de rota

Revalidação

MétodoUso
Baseada em temporevalidate: 60
Sob demandarevalidatePath/Tag
Sem cacheno-store

8. Server Actions

Casos de Uso

  • Submissões de formulário
  • Mutações de dados
  • Gatilhos de revalidação

Melhores Práticas

  • Marcar com 'use server'
  • Validar todas as entradas
  • Retornar respostas tipadas
  • Tratar erros

9. Anti-Padrões

❌ Não Faça✅ Faça
'use client' em toda parteServidor por padrão
Fetch em componentes clienteFetch no servidor
Pular estados de carregamentoUsar loading.tsx
Ignorar limites de erroUsar error.tsx
Grandes bundles no clienteImportações dinâmicas

10. Estrutura do Projeto

app/
├── (marketing)/     # Grupo de rota
│   └── page.tsx
├── (dashboard)/
│   ├── layout.tsx   # Layout do dashboard
│   └── 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.

Individual skills in this repo

This repo contains 13 individual skills — each has its own dedicated page.

marnixGeerkens/rocketlauncher-claude-code

When the user wants to optimize, improve, or increase conversions on any marketing page — including homepage, landing pages, pricing pages, feature pages, or blog posts. Also use when the user says "CRO," "conversion rate optimization," "this page isn't converting," "improve conversions," or "why isn't this page working." For signup/registration flows, see signup-flow-cro. For post-signup activation, see onboarding-cro. For forms outside of signup, see form-cro. For popups/modals, see popup-cro.

marnixGeerkens/rocketlauncher-claude-code

Balance visual design with ATS compatibility for creative roles. Use when the user is in design, art, writing, marketing creative, or any visual/creative field and needs a resume that looks distinctive but still parses.

marnixGeerkens/rocketlauncher-claude-code

Transform resume bullets into detailed portfolio case studies with context, action, and outcome. Use when the user mentions portfolio, case study, project write-up, or expanding a resume bullet into a longer narrative.

marnixGeerkens/rocketlauncher-claude-code

Expert in building portfolios that actually land jobs and clients - not just showing work, but creating memorable experiences. Covers developer portfolios, designer portfolios, creative portfolios, and portfolios that convert visitors into opportunities. Use when: portfolio, personal website, showcase work, developer portfolio, designer portfolio.

marnixGeerkens/rocketlauncher-claude-code

Tailwind CSS v4 principles. CSS-first configuration, container queries, modern patterns, design token architecture.

marnixGeerkens/rocketlauncher-claude-code

Frontend development patterns for React, Next.js, state management, performance optimization, and UI best practices.

marnixGeerkens/rocketlauncher-claude-code

Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.

marnixGeerkens/rocketlauncher-claude-code

Expert integration of Supabase Auth with Next.js App Router Use when: supabase auth next, authentication next.js, login supabase, auth middleware, protected route.

marnixGeerkens/rocketlauncher-claude-code

Comprehensive frontend development skill for building modern, performant web applications using ReactJS, NextJS, TypeScript, Tailwind CSS. Includes component scaffolding, performance optimization, bundle analysis, and UI best practices. Use when developing frontend features, optimizing performance, implementing UI/UX designs, managing state, or reviewing frontend code.

marnixGeerkens/rocketlauncher-claude-code

Create API handoff documentation for frontend developers. Use when backend work is complete and needs to be documented for frontend integration, or user says 'create handoff', 'document API', 'frontend handoff', or 'API documentation'.

marnixGeerkens/rocketlauncher-claude-code

Document frontend data needs for backend developers. Use when frontend needs to communicate API requirements to backend, or user says 'backend requirements', 'what data do I need', 'API requirements', or is describing data needs for a UI.

marnixGeerkens/rocketlauncher-claude-code

Comprehensive Python library for astronomy and astrophysics. This skill should be used when working with astronomical data including celestial coordinates, physical units, FITS files, cosmological calculations, time systems, tables, world coordinate systems (WCS), and astronomical data analysis. Use when tasks involve coordinate transformations, unit conversions, FITS file manipulation, cosmological distance calculations, time scale conversions, or astronomical data processing.

marnixGeerkens/rocketlauncher-claude-code

Comprehensive patterns for Next.js 14+ App Router architecture, Server Components, and modern full-stack React development.

Habilidades Relacionadas