Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 1.48 KB

File metadata and controls

42 lines (29 loc) · 1.48 KB

Contributing to UnionOps

UnionOps is source-available, stewarded by Ryan Morris. Contributions are welcome for discussion; acceptance is at the steward’s discretion.

Before you start

  1. Read docs/VISION.md and AGENTS.md.
  2. Respect multi-union rules: no hardcoding a single union as the platform default.
  3. Do not commit secrets, .env files, private keys, or real member data.

How to propose a change

  1. Open an issue describing the problem or idea (use the templates).
  2. Fork or branch from main.
  3. Keep PRs focused. Prefer small, reviewable diffs.
  4. Update EN and FR strings when you change user-facing copy (messages/en.json, messages/fr.json).
  5. Run before opening a PR:
npm run lint
npm run typecheck
npm run test:unit

For UI/route changes, also run npm run test:smoke when practical.

License of contributions

By submitting a contribution, you assign copyright in that contribution to Ryan Morris (see LICENSE). Do not submit code you cannot assign.

What we will not merge

  • Analytics or third-party tracking
  • Cross-union data access
  • dangerouslySetInnerHTML
  • Hardcoded OPSEU/CAAT as defaults for new tenant signups
  • Secrets, credentials, or real PII
  • Public copy that promises the whole platform is free forever (Comms stay free; hosted Officer Hub / Local Portal may recover hosting costs — see ADR-019)

Code of conduct

See .github/CODE_OF_CONDUCT.md.