Communitygithub.com

marnixGeerkens/rocketlauncher-claude-code

Principes Next.js App Router : composants serveur, récupération de données, schémas de routage.

Qu'est-ce que rocketlauncher-claude-code ?

Cette compétence fournit un guide structuré des meilleures pratiques pour le développement avec Next.js App Router, en se concentrant sur les composants serveur par défaut, les schémas de récupération de données, et l'organisation du routage. Elle aide les développeurs à décider quand utiliser des composants serveur ou client, à optimiser les performances avec le chargement d'images et les importations dynamiques, et à gérer le cache et la revalidation. Elle couvre également les bonnes pratiques pour les actions serveur, les API Routes, le métadonnées statiques et dynamiques, ainsi que les anti-patrons à éviter. La compétence est conçue pour être utilisée avec Claude Code ou des outils similaires, offrant des décisions claires et des exemples concrets pour accélérer le développement d'applications Next.js robustes.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Meilleures pratiques Next.js

Principes pour le développement avec Next.js App Router.


1. Composants serveur et client

Arbre de décision

A-t-il besoin... ?
│
├── useState, useEffect, gestionnaires d'événements
│   └── Composant client ('use client')
│
├── Récupération de données directe, pas d'interactivité
│   └── Composant serveur (par défaut)
│
└── Les deux ? 
    └── Séparer : parent serveur + enfant client

Par défaut

TypeUtilisation
ServeurRécupération de données, mise en page, contenu statique
ClientFormulaires, boutons, UI interactive

2. Schémas de récupération de données

Stratégie de récupération

SchémaUtilisation
Par défautStatique (mis en cache à la construction)
RevalidationISR (rafraîchissement basé sur le temps)
No-storeDynamique (chaque requête)

Flux de données

SourceSchéma
Base de donnéesRécupération dans le composant serveur
APIfetch avec mise en cache
Saisie utilisateurÉtat client + action serveur

3. Principes de routage

Conventions de fichiers

FichierObjectif
page.tsxUI de la route
layout.tsxMise en page partagée
loading.tsxÉtat de chargement
error.tsxLimite d'erreur
not-found.tsxPage 404

Organisation des routes

SchémaUtilisation
Groupes de routes (nom)Organiser sans URL
Routes parallèles @slotPages multiples au même niveau
Interception (.)Superpositions modales

4. Routes API

Gestionnaires de routes

MéthodeUtilisation
GETLire des données
POSTCréer des données
PUT/PATCHMettre à jour des données
DELETESupprimer des données

Bonnes pratiques

  • Valider les entrées avec Zod
  • Renvoyer des codes de statut appropriés
  • Gérer les erreurs avec élégance
  • Utiliser l'environnement d'exécution Edge si possible

5. Principes de performance

Optimisation des images

  • Utiliser le composant next/image
  • Définir la priorité pour le contenu au-dessus de la ligne de flottaison
  • Fournir un placeholder flou
  • Utiliser des tailles responsives

Optimisation du bundle

  • Importations dynamiques pour les composants lourds
  • Division de code basée sur les routes (automatique)
  • Analyser avec l'analyseur de bundle

6. Métadonnées

Statique vs Dynamique

TypeUtilisation
Export statiqueMétadonnées fixes
generateMetadataDynamique par route

Balises essentielles

  • title (50-60 caractères)
  • description (150-160 caractères)
  • Images Open Graph
  • URL canonique

7. Stratégie de mise en cache

Couches de cache

CoucheContrôle
Requêteoptions fetch
Donnéesrevalidate/tags
Route entièreconfiguration de route

Revalidation

MéthodeUtilisation
Basée sur le tempsrevalidate: 60
À la demanderevalidatePath/Tag
Sans cacheno-store

8. Actions serveur

Cas d'utilisation

  • Soumissions de formulaires
  • Mutations de données
  • Déclencheurs de revalidation

Bonnes pratiques

  • Marquer avec 'use server'
  • Valider toutes les entrées
  • Renvoyer des réponses typées
  • Gérer les erreurs

9. Anti-patrons

❌ À éviter✅ À faire
'use client' partoutServeur par défaut
Récupération dans les composants clientRécupération dans le serveur
Ignorer les états de chargementUtiliser loading.tsx
Ignorer les limites d'erreurUtiliser error.tsx
Gros bundles clientImportations dynamiques

10. Structure du projet

app/
├── (marketing)/     # Groupe de routes
│   └── page.tsx
├── (dashboard)/
│   ├── layout.tsx   # Mise en page du tableau de bord
│   └── page.tsx
├── api/
│   └── [resource]/
│       └── route.ts
└── components/
    └── ui/

Rappel : Les composants serveur sont la valeur par défaut pour une bonne raison. Commencez par là, ajoutez un composant client uniquement lorsque nécessaire.

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 associés