Coding Standards & Rules for Nextjs 15 and React 19
# Project Structure And App Router - Use the App Router (`app` directory) in Next.js 15 - Co-locate route handlers, loading and error states, and page-level components within the `app` directory - Use route groups (parentheses) to organize without affecting URLs - Use parallel or intercepting routes for complex layouts and modals - Place API route handlers in `app/api` # Server Components - Default to Server Components for data fetching and rendering - Keep them free of client-side hooks or browser APIs - Use `Suspense` boundaries for streaming and granular loading states - Use `generateMetadata` in `layout.tsx` or `page.tsx` for dynamic SEO metadata - Prefer `fetch` with `revalidate` options for caching in Server Components - Implement `generateStaticParams` for static builds of dynamic routes - Use `unstable_noStore` for fully dynamic, non-cached rendering - Use `Promise.all` for parallel data fetching and `React.cache` for request deduplication # Client Components - Mark Client Components with `"use client"` at the top - Use `next/navigation` hooks such as `useRouter` and `usePathname` instead of `next/router` - Handle form state with `useFormStatus`, `useFormState`, and `useOptimistic` when using Server Actions - Include client-specific logic like user interaction and browser APIs here
Sign in to view the full prompt.
Sign In