- Use SvelteKit's file-based routing in src/routes/ with dynamic segments like [slug].
- Use `+page.server.js` for page-level data loading and `+layout.server.js` for shared parent data that child routes inherit.
- Handle errors globally with +error.svelte pages.
- Define API endpoints in src/routes/api/.
- Use `+page.server.js` exports: `load()` for data fetching and `actions` for form handling — both run exclusively on the server.
- Use `+layout.js` or `+layout.server.js` for shared data (auth, nav) — child routes inherit layout data automatically.
- Handle errors with `+error.svelte` per route and `handleError` hook in `hooks.server.js` for global error handling.
- Use `$app/stores` for page data: `$page.data`, `$page.url`, `$page.params` — reactive stores that update on navigation.