Thanks for your interest! PatinaKey is an open project and contributions of all kinds are welcome : code, hardware review, documentation, or just thoughtful questions.
- Hardware review - spot a footprint, routing, or design issue? Open an issue.
- Firmware - the Rust firmware is the next big milestone (see the
firmwarerepo). - Documentation - clarify the build process, the design choices, or the reproduction steps.
- Reproduce it - build the board, report what worked and what didn't.
- Open an issue first for anything non-trivial, so we can align before you spend time.
- Fork the relevant repo and create a branch (
feature/...orfix/...). - Keep changes focused and explained : why, not just what.
- Open a pull request referencing the issue.
- Firmware: format in allman style, lint with
cargo clippy, keepno_stddiscipline. - Hardware: describe changes in plain language in the PR. Attach before/after renders when relevant.
- Commits: clear, present-tense messages (e.g.
Add SWD pogo header,Fix VDDA filter placement).
Please do not report security vulnerabilities through public issues or PRs.
See SECURITY.md for responsible disclosure.
By contributing, you agree your contributions are licensed under each repo's license (CERN-OHL-S for hardware, GPL-3.0 for firmware, CC-BY for docs).