Generate Next.js 15 App Router project with auth, database, API routes. Use when user asks to "scaffold a Next.js app".
From sanpx claudepluginhub javimontano/jm-adk --plugin sovereign-architectThis skill is limited to using the following tools:
agents/app-router-architect-agent.mdagents/auth-db-setup-agent.mdagents/nextjs-e2e-agent.mdevals/evals.jsonexamples/sample-output.mdprompts/use-case-prompts.mdreferences/body-of-knowledge.mdreferences/knowledge-graph.mmdreferences/state-of-the-art.mdSearches, retrieves, and installs Agent Skills from prompts.chat registry using MCP tools like search_skills and get_skill. Activates for finding skills, browsing catalogs, or extending Claude.
Searches prompts.chat for AI prompt templates by keyword or category, retrieves by ID with variable handling, and improves prompts via AI. Use for discovering or enhancing prompts.
Guides implementation of event-driven hooks in Claude Code plugins using prompt-based validation and bash commands for PreToolUse, Stop, and session events.
Generate Next.js 15 App Router project with server-first architecture, full-stack auth, database integration, and type-safe API routes.
"Server-first architecture produces faster, simpler applications. Default to Server Components — justify every
use clientdirective."
[HECHO] if confirmed, [SUPUESTO] if inferred.app/page.tsx, app/(auth)/login/page.tsx, app/(dashboard)/layout.tsx.use client), and Streaming (with <Suspense>).(marketing) for public pages, (dashboard) for protected routes, (auth) for auth flow.use client.docs/routing-architecture.md.next.config.ts with: strict mode, experimental features (PPR if using Next 15), image domains, bundle analyzer hook.tsconfig.json with strict: true, moduleResolution: "Bundler", paths for @/.tailwind.config.ts for App Router content paths including app/, components/, lib/..env.example with all required variables; write src/env.ts with Zod validation (use server schema for NODE-only vars, client schema for NEXT_PUBLIC_ vars).eslint-config-next, @typescript-eslint/strict, jsx-a11y.auth.config.ts with providers, session strategy, callbacks.middleware.ts at root: protect all routes under /(dashboard), redirect unauthenticated to /login.auth() server helper — use in Server Components, Server Actions, and Route Handlers.src/lib/auth-utils.ts with getCurrentUser() helper that throws if not authenticated./dashboard → 302 to /login. Auth cookie present → session resolves.next/jest or @vitejs/plugin-react).webServer config starts next dev, baseURL from env.next.config.ts production optimizations: output standalone for Docker, compress: true, security headers.Dockerfile using output: 'standalone' — copy only .next/standalone + .next/static + public..github/workflows/ci.yml: type-check → lint → unit tests → build → E2E.| Decision | Default | Alternative | When to Switch |
|---|---|---|---|
| Rendering | Server Components | Client Components | Interactive UI, browser APIs needed |
| Data fetching | fetch() in Server Component | Route Handler + TanStack Query | Client-side re-fetching required |
| Mutations | Server Actions | Route Handlers | Non-form mutations from client |
| Auth | Auth.js v5 | Clerk | Managed auth with UI components wanted |
| ORM | Drizzle ORM | Prisma | Team prefers Prisma's DX; large team |
| Database | PostgreSQL (Neon/Supabase) | SQLite (Turso) | Low-traffic or edge deployment |
| Caching | Next.js unstable_cache | Redis via Upstash | Multi-region or high-volume cache |
| Styling | Tailwind CSS v4 | CSS Modules | Existing non-Tailwind design system |
| Deployment | Vercel | Docker/ECS | No vendor lock-in; custom infra |
| Image handling | next/image (required) | Direct <img> | Never — always use next/image |
next build exits 0 — no TypeScript errors, no missing env variables.(dashboard) return 302 to /login when unauthenticated (Playwright test).next/image used for all images — no raw <img> tags.use client on pages that only render static or server-fetched data.zod input validation before touching the database.drizzle/ or prisma/migrations/).next.config.ts (CSP, X-Frame-Options, HSTS).useRouter from next/router in App Router. Use next/navigation. Never use getServerSideProps in app/.use client on layout files — Makes the entire subtree client-side. Put interactivity in leaf components, keep layouts as Server Components.output: 'standalone' for Docker — Default Next.js Docker build includes all node_modules. Standalone output is 10x smaller.NEXT_PUBLIC_* variables — These are embedded in the client bundle. Use unprefixed vars for server-only secrets.scaffold-react-app (lighter, faster DX).