Contributing
wardn decides who can do what in every product that uses it, so the bar for changes is deliberately high. The full rules are in CONTRIBUTING.md.
Set up
Section titled “Set up”git clone git@github.com:MogRex-Limited/wardn.gitcd wardnmake hooks # every push runs every check firstmake check # lint, security lint, tests, vulnerabilities, dependencies, API compatibilityThe rules
Section titled “The rules”- Tests come with the code. Security behaviour needs a test that would fail if the protection were removed.
- Threats are traceable. A fix for a threat in the threat model gets a test named
TestThreat_<ID>_…. - Fail closed. Every error path denies.
- No silent suppression. Every
//nolintnames its linter and explains why. - No hidden behaviour: no network calls, telemetry, global logging or
unsafe. - New dependencies need approval and an entry in the allowlist.
- Public API changes start with the design document.
- Commits are signed.
Working on this site
Section titled “Working on this site”The documentation lives in website/ and is built with Astro Starlight:
cd websitenpm cinpm run dev # http://localhost:4321npm run build # also checks every internal linkQuestions about this page?
Ask below, point out something wrong or unclear, or suggest an improvement. Reading needs no account; to post, sign in with GitHub.