Skip to content
Next.js edition

Next.js edition

Next 16, the App Router, React 19 and TypeScript — installs, builds and runs on its own: no workspace, no path reaching outside the folder.

Install and build

In nextjs
pnpm install --frozen-lockfile
pnpm run build

Developing

In nextjs
pnpm dev              # syncs shared/, then Next on :3000, redirects to a locale
pnpm start            # serves the build made by `pnpm run build`, above
pnpm run typecheck

The generated mirror

src/shared/ is written by tools/sync-shared.mjs, which dev and build run first. Editing a file there appears to work and then vanishes at the next sync — edit shared/ at the repository root instead. The favicon is served from that mirror by a route handler (src/app/brand/favicon.svg/route.ts) rather than copied into public/, so it cannot fall behind the brand builder.