# `nextjs-enterprise` preset

> Secondary frontend. Use when the project needs SSR/RSC for marketing pages or a Next.js-native admin alongside the Angular primary.

## What you get

- **`apps/web-next/`** — Next.js 15 App Router app:
  - Server Components by default; Client Components opt-in
  - Server Actions baseline (zod-validated)
  - Middleware: auth, locale (`next-intl`), security headers, rate limit
  - Route protection wrappers + error boundaries (`error.tsx`, `global-error.tsx`)
  - Reusable layouts: auth, dashboard, marketing
  - shadcn/ui-based component library wired to the `premium-theme` tokens
  - Metadata helpers (SEO + OpenGraph), loading skeletons via Suspense
- **`packages/ui-react/`** — shared React components (shadcn-derived, theme-tokens-driven)

## When it applies

Materialized whenever `extends` contains `nextjs-enterprise`. It does **not** require being the primary frontend — pairs cleanly with `angular-enterprise` as the marketing surface.

## Composes with

| Preset                                    | Notes                                                   |
| ----------------------------------------- | ------------------------------------------------------- |
| `angular-enterprise`                      | Coexists; share contracts via `packages/api-contracts/` |
| `premium-theme`                           | Token overlay (CSS variables) — no component rewrites   |
| `dotnet-enterprise` / `nestjs-enterprise` | API consumed via shared `auth-client` + typed fetcher   |

## Phase mapping

- Phase 2 (this phase): preset manifest + README
- Phase 3: full source materialization (`apps/web-next/`)
