This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
setup-ui is the first-run installation wizard for the Pano platform β the multi-step flow
(language, database, admin account, β¦) shown before a site is set up. It is a SvelteKit 2 +
Svelte 5 app (@sveltejs/adapter-node, Vite, Bun) and, like the other front-ends, is launched
and reverse-proxied by the pano-web-platform backend rather than served standalone (see
../CLAUDE.md and the backend's UIManager). The backend's SetupManager.isSetupDone() gate is
what decides whether this UI is shown at all.
This is the smallest of the front-ends: JS-with-JSDoc, SCSS compiled outside Vite, no @panomc/sdk
bundle, and no premium/license machinery.
bun install # postinstall copies Bootstrap assets (scripts/copy-bootstrap.js)
bun run dev # Vite dev on 0.0.0.0:3002
bun run dev:ui # dev + concurrent `sass --watch` (use when editing SCSS)
bun run build # production SSR build
bun run build:ui # one-shot SCSS β static/style.css
bun run lint # prettier -c
bun run format # prettier --write- API base is
/api(the public, pre-setup API), proxied in dev viaVITE_API_URLin.env. Run against a local backend withinit-ui = truein the platform'sconfig.conf. - Routes are
step-1β¦step-4plus asetup-apiendpoint and a fallback; components insrc/lib/components/, pages insrc/lib/pages/. - SCSS lives in
src/styles/; Vite does not compile it β usedev:ui/build:ui. - Releases are automated by semantic-release on
alpha/beta/mainβ use conventional commits. Versions are pinned by the backend in itsui-releases.yml.
Use Svelte 5 runes for new code; i18n via svelte-i18n.