Files
nosterm-client/CONTRIBUTING.md
T
Robert Goodall cd2b900639
ci / build (push) Successful in 1m3s
ci / image (push) Successful in 41s
Initial commit: Nosterm client (terminal-style Nostr chat SPA)
2026-07-24 13:47:53 -04:00

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

  1. Fork the repo (or branch, if you have push access).
  2. Create a topic branch off main.
  3. Make your change, keeping commits focused.
  4. 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.