Reference

Fork and release policy

Two forks that never modify upstream, four npm packages published by hand, and the apps consumed from GitHub.

#The two forks

  • human-synthesis/norns-core is a fork of sveltejs/svelte. packages/svelte/ is an untouched mirror of upstream; packages/norns-core/ is ours.
  • human-synthesis/norns is a fork of sveltejs/kit. packages/kit/ and the upstream packages/adapter-*/ are untouched; packages/norns/ is ours.

They are separate forks because their upstreams are separate repositories with independent release cycles. The forks exist to track upstream (git fetch upstream && git merge upstream/main) and to develop the Norns packages alongside the upstream packages in the same monorepo. Nothing in the upstream packages is modified beyond minimal package-manager script tweaks; every change there would be a future merge conflict.

We do not publish svelte or @sveltejs/kit. Users get those from the official packages through peer dependencies, and they never know the forks exist.

#What is published

Published to npm Not published
@human-synthesis/norns-core, @human-synthesis/norns, @human-synthesis/norns-ui, @human-synthesis/norns-tron norns-app (consumed through bun create), norns-demo and norns-docs (cloned)

Releases are manual: bump the version, verify locally (lint, check, build, the reference apps), commit and push, then publish from the package directory. Nothing is pushed or published without an explicit decision.

#Decisions baked in

  • No new component extension. .n and .c are aliases on SvelteKit's extensions and moduleExtensions; forking the Svelte compiler for a .norns format would be high cost for no value.
  • Civet, not CoffeeScript (since May 2026). Civet emits ESM-correct output and supports optional types, which removed two preprocessor passes that existed only to paper over CoffeeScript's emit.
  • norns-ui is standalone, not a fork, and iterates faster than the framework; it only requires a compatible range of norns and norns-core.
  • Starter and demo are split (May 2026) so each can be honest: norns-app is the smallest complete app, norns-demo is the showcase and comparison.
  • The runtime is opinionated. Feature folders, DI, validated input and the facade boundary are the product, not syntax sugar.