SvelteKit (plain)

A SvelteKit 2 client wired to the Phoenix backend, with no 3D rendering and no opinionated UI library. Pick this when you want SvelteKit + Phoenix for an admin tool, dashboard, CRUD app, or anything where the threlte+three.js install would be dead weight.

Install

npx tostada-cli create MyApp --variant sveltekit

Or interactively pick SvelteKit at the variant prompt.

What you get

In client/:

  • SvelteKit 2 + Svelte 5 (runes)
  • Vite 7 dev server on :5173
  • adapter-static, building into ../server/priv/static/app
  • src/lib/socket.ts — Phoenix socket helper (writable stores for status / errors)
  • A minimal +page.svelte landing page with auth links
  • Vitest + jsdom + @testing-library/svelte for tests
  • Strict TypeScript

In server/:

  • The shared Phoenix 1.8 backend (identical across all variants)

Available addons

AddonDefaultNotes
dockeroffDockerfile + docker-compose for containerized deploy

Threlte and model-pipeline addons aren’t offered for this variant — pick the sveltekit-threlte variant instead if you want 3D.

Verifying the install

cd MyApp
make db.setup
make dev

Open http://localhost:5173. The landing page loads from the SvelteKit dev server; /api/me proxies through to Phoenix on :4000.

What to build next

The shared backend already has auth and a socket lobby channel. From here: