norns-app
The starter template — a single page that exercises the whole runtime in about sixty lines you can read in one sitting and rewrite in two.
bun create human-synthesis/norns-app my-app
cd my-app
bun install
bun run dev # http://localhost:5173bun create clones the public repository human-synthesis/norns-app and runs bun install, which resolves @human-synthesis/norns, norns-core (through norns), norns-ui, norns-tron, the SvelteKit and Svelte peers, Tailwind v4 and valibot from npm. You never see the framework's forks.
#Stack
Svelte 5, SvelteKit 2, Pug, Civet, Tailwind CSS v4, Vite, bun, the three Norns packages, and valibot for validation.
#Commands
bun run dev # dev server
bun run build # production build
bun run preview # preview the build
bun run lint # norns lint: Civet + Pug pitfall scan
bun run check # norns check: preprocess + compile every .n / .c through svelte.config.js
bun test # tests/*.test.js — the feature through the DI container
bun run build # full Vite build
bunx norns diag src/lib/norns/messages/server/service.c
bun run check:svelte # svelte-check over the .js / .ts / .svelte parts onlyRun them in that order before calling a change done; norns check, not svelte-check, is the pass signal for Norns code. The template ships one bun test as the pattern for testing a feature through the container (a small bun plugin in tests/civet-loader.js compiles .c files on import). The framework's own suites live in the framework repositories.
- Walkthrough — every file in the template and what to do next.