1.7 KiB
Contributing to Nosterm
Thanks for helping improve the Nosterm client. This repo is the public home for client development — the browser SPA and its container image. There is no backend here; Nostr is a client-side protocol.
Workflow
- Fork the repo (or branch, if you have push access).
- Create a topic branch off
main. - Make your change, keeping commits focused.
- Open a pull request against
main.
Every push and pull request runs CI: install, lint, type-check, unit tests, and a full static build. Get these green before requesting review:
npm install
npm run lint # prettier --check + eslint
npm run check # svelte-check (type-check)
npm test # vitest
npm run build # static build → ./build
npm run format auto-fixes most lint issues.
What happens on merge
Merging to main builds the container image and pushes it to ECR Public
(public.ecr.aws/k3k1z1x5/nosterm:latest), so anyone can pull the latest client
anonymously. Tagged releases (v*) publish a matching versioned image. This
repo does not deploy to any live environment — promotion is handled separately.
Guidelines
- Match the surrounding code style; the linter is the source of truth.
- Keep pull requests scoped to one change; smaller is easier to review.
- Add or update tests when you change behavior.
- Never commit secrets. All
PUBLIC_*build args are browser-visible by design. - Relays are configured at runtime, not baked in — don't hard-code a relay as a dependency.
Reporting issues
Open an issue with steps to reproduce, what you expected, and what happened. For security-sensitive reports, please disclose privately rather than in a public issue.