Technical

Setup & deployment

The project uses Bun for package management and Vite for the dev server and build. The conventions below keep the codebase consistent.

Running locally

  • Install dependencies: bun install.
  • Start the dev server: bun run dev.
  • Run tests: bunx vitest run (unit) and Playwright for end-to-end specs in tests/e2e.

Building & publishing

The build is produced by Vite via the TanStack Start plugin. On Lovable, publishing is handled from the editor — use the Publish action to deploy. The live site is served from the project’s Lovable domain.

Project layout

  • src/routes — file-based routes (the four layers plus docs).
  • src/components/poc — application components, grouped by layer.
  • src/components/ui — shadcn/ui primitives.
  • src/lib/poc — data, types and client-side stores.
  • docs — developer markdown documentation.

Conventions

  • All user-facing copy uses UK English (organise, colour, centre, programme, licence). See docs/STYLE_GUIDE.md.
  • Headings and buttons use sentence case; dates are written as “D Month YYYY”.
  • Never edit src/routeTree.gen.ts — it is generated automatically.
  • Colours come from design tokens in src/styles.css; avoid hard-coded colour utilities.