Template
TEMPLATE.md Versioning section; notes in README, CHANGELOG and the firmware/software READMEs. Source: contrib/product-template in B4L/proplan.
Firmware
MCU code, one folder per target (an STM32CubeIDE or CMake project each), for
example firmware/main-mcu/. Drivers shared by the targets go to
firmware/lib/; third-party stacks (HAL, USB-PD middleware) are submodules in
external/. IDE build folders (Debug/, Release/, build/) are not
committed.
Versions: SemVer per target, tagged firmware/<target>/vMAJOR.MINOR.PATCH
(for example firmware/main-mcu/v0.1.0). Each target folder has its own
CHANGELOG.md, and the firmware reports its version at run time. TEMPLATE.md
says what counts as breaking and how pre-releases are named.