// contributing

Contribute to a signer solution or the shared spec.

nSealr is a multi-repo program. Pick the area you care about, read its README.md, and open an issue or PR. Everything else hangs off the contracts in nSealr/specs.

Where each kind of work lives

Ground rules

These are tied to specific behaviors and exist for specific reasons.

Dev setup

  1. Clone the repo for the area you want to work on.
  2. Run make setup (sets up pinned tool versions; Python venv where applicable; Node 22 + pnpm for TypeScript repos).
  3. Run make ci on a clean checkout. If this fails before you touch anything, file an issue.
  4. Make your change. Re-run make ci.
  5. Open a PR. CI mirrors make ci.

PR conventions

First issues

Each repo carries a good first issue label. Documentation fixes — typo, broken link, missing cross-reference, an explanation that should be more obvious — are always welcome and are a good way to learn the contract vocabulary before touching firmware.

Disclosure

Security issues belong in a private GitHub security advisory on the relevant repo. nSealr does not yet make a production security claim, so most issues during this phase are functional / contract bugs — but security reports are still welcome and triaged with priority.