47 lines
1.6 KiB
Markdown
47 lines
1.6 KiB
Markdown
# Contributing to nostermd
|
|
|
|
Thanks for helping improve the Nosterm home relay. This repo is the public home
|
|
for relay development — the Go source and its container image. It builds and
|
|
ships the relay image to ECR Public; it does not deploy to any live relay.
|
|
|
|
## 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: gofmt check, vet, tests, and a build. Get
|
|
these green before requesting review:
|
|
|
|
```bash
|
|
gofmt -l . # must print nothing
|
|
go vet ./...
|
|
go test ./... # run without -race — see README.md#tests
|
|
go build ./cmd/nostermd
|
|
```
|
|
|
|
`gofmt -w .` auto-fixes formatting.
|
|
|
|
## What happens on merge
|
|
|
|
Merging to `main` builds the container image and pushes it to ECR Public
|
|
(`public.ecr.aws/k3k1z1x5/nostermd:latest`), so anyone can pull the latest relay
|
|
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; gofmt 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. Tests live beside the package
|
|
they cover.
|
|
- Never commit secrets. `RELAY_SECRET_KEY` is a per-deployment identity, not a
|
|
repo value.
|
|
|
|
## 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.
|