# 02 — Next.js app skeleton ## Goal Stand up a minimal Next.js 15 (App Router) app with Tailwind and shadcn/ui, rendering a placeholder dashboard. ## Why Provides the shell the modules will plug into. ## Depends on - 01 (repo init) ## Scope - Install Next.js 15 + React 19 into the existing repo (do **not** use `create-next-app` to overwrite — add deps manually or with `--use-pnpm` into the existing dir). - App Router under `src/app/` with a root layout and a `/` page that renders "famapp" plus a stub "Dashboard coming soon". - Tailwind v4 (or latest stable) configured against `src/**`. - shadcn/ui initialized; install `button`, `card`, `input`, `dialog` to start. - Path alias `@/*` working at runtime + in the editor. - `next.config.ts` with `reactStrictMode: true` and `output: "standalone"` (required for the Docker image in task 05). ## Out of scope - Auth, DB, modules. Just the shell. - Custom theming beyond shadcn defaults. ## Acceptance criteria - [ ] `pnpm dev` serves `http://localhost:3000` showing the placeholder page. - [ ] `pnpm build` succeeds with `output: "standalone"` producing `.next/standalone/`. - [ ] `pnpm lint` (now extending `next/core-web-vitals`) passes. - [ ] No `any` introduced. ## Notes - shadcn CLI writes to `src/components/ui/`. Keep it there; modules will import from it.