Files
famapp/docs/tasks/02-nextjs-skeleton.md
T
ginnoir b89690a9f2 Initial scaffold: tooling, plan, task briefs
- pnpm 10 workspace + TypeScript strict + ESLint flat + Prettier
- CLAUDE.md as canonical brief
- docs/tasks/ — 22 task briefs broken out by phase for sub-sessions
- docs/decisions/ — ADR scaffold

Implements task 01 (repo-init).
2026-05-06 00:05:50 -05:00

39 lines
1.3 KiB
Markdown

# 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.