Skip to content

Latest commit

 

History

History
56 lines (38 loc) · 1.45 KB

File metadata and controls

56 lines (38 loc) · 1.45 KB

Contributing

Scope

This project accepts contributions for bootloader, firmware samples, tooling, tests, and documentation.

Development workflow

  1. Build and test locally.
  2. Validate on real RP2040 hardware for behavior changes.
  3. Open PR with a clear description and test evidence.

Required checks

Run before opening a PR:

make clippy
make lint-md
make test

For hardware-impacting changes, also run:

make test-integration

(or explain why it could not be run).

Release Process

  • Create and push a tag in vX.Y.Z format to trigger the release workflow.
  • During tag builds, CI synchronizes all Rust crate Cargo.toml versions from the tag value.
  • If minor is even and non-zero (Y % 2 == 0 && Y != 0), GitHub release is official and marked as latest.
  • Otherwise, GitHub release is published as pre-release and not marked latest.

Examples:

  • v1.2.3: official release, marked latest
  • v1.0.0: pre-release, not latest

Documentation conventions

  • Keep README.md short 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.

Commit hygiene

  • Use focused commits.
  • Keep messages explicit about behavior changes.
  • Avoid mixing refactors and functional changes in one commit when possible.