Skip to content

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.

sh
pnpm add @azure-net/kit
pnpm add -D @azure-net/cli
# Optional UI package
pnpm add @azure-net/ui-kit

If 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.

From the project root:

sh
pnpm exec azure-net install fresh

The 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:

sh
pnpm exec azure-net folders-update
pnpm exec azure-net check project
pnpm dev

Checks 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.