Nuxt edition
Nuxt 4, Vue 3 and TypeScript, server-rendered — installs, builds and runs on its own: no workspace, no path reaching outside the folder.
Install and build
nuxtpnpm install --frozen-lockfile
pnpm run buildpnpm install also runs its postinstall script, nuxt prepare, which
writes the type declarations Nuxt needs before anything imports them.
Developing
nuxtpnpm dev # syncs shared/, then Nuxt on :3000
pnpm run generate # syncs shared/, then a static export
pnpm preview # serves the build
pnpm run typecheck # nuxt typecheckThe generated mirror
app/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 (server/routes/brand/favicon.svg.get.ts)
rather than copied into public/, so it cannot fall behind the brand builder.