Contributing
Norn is MIT-licensed and developed at github.com/jamie-wk/norn. Issues and pull requests are welcome.
You need Node.js >= 22.18 and pnpm 10 (the repository is a pnpm workspace; don’t use npm or yarn).
git clone https://github.com/jamie-wk/norn.gitcd nornpnpm installTests first
Section titled “Tests first”Write the failing test first, then the code. Cover the happy path and the sad paths (invalid input, errors, timeouts) for every change.
Commands
Section titled “Commands”pnpm build # all packages (tsc -p tsconfig.build.json)pnpm lint # oxlint --deny-warningspnpm typecheckpnpm test # unit (vitest project "unit")pnpm test:integration # real Temporal dev server / time-skipping serverpnpm check:deps && pnpm check:packpnpm docs:buildRun one area with npx vitest run --project unit packages/norn/test/client.
Integration tests use existing Temporal binaries when NORN_TEMPORAL_CLI_PATH / NORN_TEMPORAL_TEST_SERVER_PATH are set (for example in a gitignored .env.test.local); otherwise the SDK downloads them.
Changesets
Section titled “Changesets”Every change to a published package needs a changeset describing it for the changelog:
pnpm changesetCommit the generated file in .changeset/ with your pull request.