# 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.