This project accepts contributions for bootloader, firmware samples, tooling, tests, and documentation.
- Build and test locally.
- Validate on real RP2040 hardware for behavior changes.
- Open PR with a clear description and test evidence.
Run before opening a PR:
make clippy
make lint-md
make testFor hardware-impacting changes, also run:
make test-integration(or explain why it could not be run).
- Create and push a tag in
vX.Y.Zformat to trigger the release workflow. - During tag builds, CI synchronizes all Rust crate
Cargo.tomlversions from the tag value. - If
minoris even and non-zero (Y % 2 == 0 && Y != 0), GitHub release is official and marked aslatest. - Otherwise, GitHub release is published as pre-release and not marked
latest.
Examples:
v1.2.3: official release, markedlatestv1.0.0: pre-release, notlatest
- Keep
README.mdshort and entry-point oriented. - Put task procedures in
docs/how-to/. - Put stable facts in
docs/reference/. - Put design rationale in
docs/explanation/. - Record architecture-impacting choices in
docs/explanation/adr/. - Update docs in the same PR as behavior changes.
- Use focused commits.
- Keep messages explicit about behavior changes.
- Avoid mixing refactors and functional changes in one commit when possible.