diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..7fe0dc0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,15 @@ +# Contributing to nullTickets + +1. **Read [AGENTS.md](AGENTS.md)** first — it defines the engineering protocol, + module map, and conventions for this repository. +2. One concern per PR. No drive-by refactors. +3. Before every commit: + - `zig build test --summary all` — 0 failures, 0 leaks + - `bash tests/test_e2e.sh` — end-to-end API flow must pass + - `zig fmt --check src/` +4. Every PR runs unit tests on Linux, macOS and Windows, plus Linux + aarch64/riscv64 cross-compilation. Keep it green. +5. Bug fixes must include a regression test citing the issue number. +6. REST API changes must keep `/openapi.json` and `/.well-known/openapi.json` + exports in sync — the tracker contract is consumed by agents and + orchestrators that depend on it.