Communitygithub.com

marnixGeerkens/rocketlauncher-claude-code

Principios del App Router de Next.js. Componentes de servidor, obtención de datos y patrones de enrutamiento.

¿Qué es rocketlauncher-claude-code?

Esta skill ofrece una guía completa de las mejores prácticas para desarrollar con el App Router de Next.js, enfocándose en los principios fundamentales como la separación entre Componentes de Servidor y Cliente, patrones de obtención de datos, organización de rutas y estrategias de rendimiento. Es útil para desarrolladores que utilizan herramientas como Claude Code, Cursor o Codex, ya que proporciona reglas claras y ejemplos prácticos para evitar antipatrones comunes. La skill cubre desde la toma de decisiones sobre qué tipo de componente usar hasta la configuración de caché y acciones de servidor, todo basado en la documentación oficial de Next.js. Su objetivo es maximizar el rendimiento y la mantenibilidad de las aplicaciones al aprovechar las capacidades del App Router.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Mejores Prácticas de Next.js

Principios para el desarrollo con el App Router de Next.js.


1. Componentes de Servidor vs Cliente

Árbol de Decisión

¿Necesita...?
│
├── useState, useEffect, manejadores de eventos
│   └── Componente Cliente ('use client')
│
├── Obtención directa de datos, sin interactividad
│   └── Componente de Servidor (por defecto)
│
└── ¿Ambos?
    └── Dividir: Servidor padre + Cliente hijo

Por Defecto

TipoUso
ServidorObtención de datos, layout, contenido estático
ClienteFormularios, botones, UI interactiva

2. Patrones de Obtención de Datos

Estrategia de Obtención

PatrónUso
Por defectoEstático (almacenado en caché al compilar)
RevalidateISR (actualización basada en tiempo)
No-storeDinámico (cada petición)

Flujo de Datos

FuentePatrón
Base de datosObtención en Componente de Servidor
APIfetch con caché
Entrada del usuarioEstado del cliente + acción de servidor

3. Principios de Enrutamiento

Convenciones de Archivos

ArchivoPropósito
page.tsxUI de la ruta
layout.tsxLayout compartido
loading.tsxEstado de carga
error.tsxLímite de error
not-found.tsxPágina 404

Organización de Rutas

PatrónUso
Grupos de rutas (nombre)Organizar sin URL
Rutas paralelas @slotMúltiples páginas al mismo nivel
Interceptación (.)Superposiciones modales

4. Rutas de API

Manejadores de Ruta

MétodoUso
GETLeer datos
POSTCrear datos
PUT/PATCHActualizar datos
DELETEEliminar datos

Mejores Prácticas

  • Validar la entrada con Zod
  • Devolver códigos de estado apropiados
  • Manejar errores con elegancia
  • Usar el runtime Edge cuando sea posible

5. Principios de Rendimiento

Optimización de Imágenes

  • Usar el componente next/image
  • Establecer prioridad para elementos visibles inicialmente
  • Proporcionar un placeholder de desenfoque
  • Usar tamaños responsivos

Optimización del Bundle

  • Importaciones dinámicas para componentes pesados
  • División de código por ruta (automática)
  • Analizar con el analizador de bundles

6. Metadatos

Estáticos vs Dinámicos

TipoUso
Exportación estáticaMetadatos fijos
generateMetadataDinámico por ruta

Etiquetas Esenciales

  • title (50-60 caracteres)
  • description (150-160 caracteres)
  • Imágenes Open Graph
  • URL canónica

7. Estrategia de Caché

Capas de Caché

CapaControl
SolicitudOpciones de fetch
Datosrevalidate/tags
Ruta completaConfiguración de ruta

Revalidación

MétodoUso
Basado en tiemporevalidate: 60
Bajo demandarevalidatePath/Tag
Sin cachéno-store

8. Acciones de Servidor

Casos de Uso

  • Envíos de formularios
  • Mutaciones de datos
  • Disparadores de revalidación

Mejores Prácticas

  • Marcar con 'use server'
  • Validar todas las entradas
  • Devolver respuestas tipadas
  • Manejar errores

9. Antipatrones

❌ No hacer✅ Hacer
'use client' en todas partesServidor por defecto
Obtención en componentes clienteObtención en servidor
Omitir estados de cargaUsar loading.tsx
Ignorar límites de errorUsar error.tsx
Bundles de cliente grandesImportaciones dinámicas

10. Estructura del Proyecto

app/
├── (marketing)/     # Grupo de rutas
│   └── page.tsx
├── (dashboard)/
│   ├── layout.tsx   # Layout del dashboard
│   └── page.tsx
├── api/
│   └── [resource]/
│       └── route.ts
└── components/
    └── ui/

Recuerda: Los Componentes de Servidor son la opción por defecto por una razón. Empieza ahí, añade cliente solo cuando sea necesario.

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.

Skills relacionados