# SvelteKit Guidance Use SvelteKit routes as transport and UI adapters. Keep business behavior in `src/lib/modules` and expose it through a module's `public.ts`. - Keep `+page.server.ts` and `+server.ts` thin. - Keep database, auth, secrets, and external service calls server-only. - Use `.server.ts` for server-only modules and adapters. - Keep domain rules out of Svelte components. - Validate input at the feature/use-case boundary. - Do not import a module's internal files from routes or another module. - Prefer progressive enhancement for forms unless client-side behavior is needed. - Check the existing project's SvelteKit version and conventions before adding dependencies.