Initial commit: Nosterm client (terminal-style Nostr chat SPA)
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# 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:
|
||||
|
||||
```bash
|
||||
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.
|
||||
Reference in New Issue
Block a user