Skip to main content

nextjs

Next.js 14/15 App Router patterns — server components, data fetching, caching, server actions

Quellinformationen

Repository
xoai/sage
Letzte Quellaktivität
11. Juli 2026 um 05:09
Erkannte Sprache von SKILL.md
Englisch
Sterne
28
Forks
7

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
13 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
nextjs
description
Next.js 14/15 App Router patterns — server components, data fetching, caching, server actions
version
1.0.0
type
knowledge
layer
framework
requires
{"sage":">=1.0.0","skills":["web","react"]}
activates-when
{"detected":["next","@supabase/ssr","@supabase/supabase-js","prisma","tailwindcss"]}
tags
["next","supabase","prisma","tailwindcss","fullstack"]
# nextjs **Layer 2 — Framework Pack** Next.js 14/15 App Router patterns. Server components, data fetching, caching, server actions, and the specific mistakes agents make from Pages Router training data contamination. ## Philosophy Next.js is where the "judgment not knowledge" principle matters most. The framework underwent a fundamental paradigm shift from Pages Router to App Router. Server components changed how data fetching works. Server actions changed how mutations work. The caching model changed between Next.js 14 and 15. LLMs trained on pre-App-Router content produce code that technically runs but uses wrong patterns — `getServerSideProps` in App Router projects, `useEffect` for data fetching that should happen on the server, `'use client'` on every component because the agent doesn't understand the server-first model. This pack establishes the App Router mental model as the default and explicitly corrects the most common Pages Router contamination patterns. ## What's Included | Type | Files | Coverage | |------|-------|----------| | Patterns | 7 | Server components, data fetching, routing/layouts, server actions, caching, middleware, metadata | | Anti-patterns | 5 | Pages Router patterns, use-client-everywhere, useEffect data fetching, client-side routing, wrong caching | | Constitution | 1 | 6 Next.js-specific principles | | Gate | 1 | Next.js pattern compliance check | ## Overrides When installed alongside `react`, this pack overrides React's data-fetching pattern. In Next.js, data fetching happens in server components, not via TanStack Query in client components (unless you specifically need client-side real-time data). ## Key Mental Model **Server-first.** Components are server components by default. They run on the server, have direct access to databases and file systems, and ship zero JavaScript to the browser. Only add `'use client'` when you need interactivity (event handlers, hooks, browser APIs). Most components (70-90% in a typical app) should remain server components. ## Stack Integrations (detection-gated) Next.js rarely ships alone. When a dependency below is detected, read the matching integration reference — the cross-framework seams that neither tool's own docs cover. These fold in the former `stack-nextjs-supabase` and `stack-nextjs-fullstack` skills; the content is unchanged, now surfaced through `nextjs` on detection. - **`@supabase/ssr` / `@supabase/supabase-js`** → `integration/supabase-integration.md` — dual browser/server clients, middleware token refresh, RLS as authorization, typed queries, Server Actions. Constitution: `constitution/supabase.constitution-additions.md` · anti-patterns: `anti-patterns/supabase-anti-patterns.md`. - **`prisma` + `tailwindcss` (+ Auth.js)** → `integration/fullstack-integration.md` — Prisma client singleton, Auth.js × App Router middleware, Tailwind × server components. Constitution: `constitution/fullstack.constitution-additions.md` · anti-patterns: `anti-patterns/fullstack-anti-patterns.md`.
Auf GitHub ansehen