Install the framework
Read the architecture map before generating modules. These instructions target an existing SvelteKit 3 project. Kit is not a replacement for creating/configuring the underlying SvelteKit application.
Compatibility
The current Kit peer requirements are SvelteKit >=3.0.0 and Svelte >=5.57.1. The SvelteKit 3 migration guide also requires Node >=22.17, TypeScript >=6 and Vite >=8.0.12. Use an adapter compatible with your deployment. The APIs documented here follow the local Kit 6.x pre-release line; do not assume an older npm dist-tag provides them.
pnpm add @azure-net/kit
pnpm add -D @azure-net/cli
# Optional UI package
pnpm add @azure-net/ui-kitIf the required version is still pre-release, select that version explicitly when installing. Keep the lockfile committed. The documentation does not assume that a particular npm dist-tag has already been published.
Recommended: fresh setup through CLI
From the project root:
pnpm exec azure-net install freshThe installer creates architecture folders and offers response/datasource/schema/cookie ApplicationCore primitives, optional HttpProvider, translations, error handling, Prettier configuration and Git hooks. It creates program.ts and a src/bootstrap/index.ts that wires the selected options. Middleware classes are generated separately when you need them.
It does not install Husky/commitlint/semantic-release or replace your whole application. Review generated defaults: the datasource URL is deliberately empty and a generic response envelope cannot guess your backend's contract. Existing customized Bootstrap files are preserved; follow printed wiring instructions.
Then:
pnpm exec azure-net folders-update
pnpm exec azure-net check project
pnpm devChecks may intentionally fail on an existing project with old architecture. Read the reported paths rather than globally disabling the checks. For a legacy application start with migration dry-run, not fresh scaffolding over unknown code.
Finish the runtime setup
Verify Vite, program.ts and the root layout. In particular, call register() during root layout component initialization; generated server hooks alone do not populate your component state.
Now follow the composition example or use fast CLI generation. Add translations and UI-kit only when needed.