Files
product-template/README.md
T
grabowski 0e002be80c Versioning: stages v0.1, firmware SemVer, software CalVer
TEMPLATE.md Versioning section; notes in README, CHANGELOG and the firmware/software READMEs. Source: contrib/product-template in B4L/proplan.
2026-10-13 16:56:22 +07:00

36 lines
1.4 KiB
Markdown

# $REPO_NAME
$REPO_DESCRIPTION
Created from [B4L/product-template](https://git.b4l.co.th/B4L/product-template).
TEMPLATE.md explains the layout, the rules and `proplan.toml`.
| Folder | What goes there |
|---|---|
| `assets/` | the product image (`assets/product.png`, shown by proplan), renders |
| `hardware/$REPO_NAME/` | the KiCad project of the board |
| `hardware/lib/` | symbols, footprints and 3D models shared by the boards |
| `firmware/` | MCU code, one folder per target; `firmware/lib/` for shared drivers |
| `external/` | third-party code as git submodules |
| `software/` | host tools and apps |
| `mech/` | FreeCAD sources and STEP exports |
| `sim/` | LTspice/ngspice models, calculation scripts and notebooks |
| `test/` | bench results per prototype stage (`test/v0.1/`) |
| `docs/` | documentation; `docs/datasheets/` for vendor PDFs, `docs/tex/` for LaTeX |
## Prototype stages
Each prototype is a git tag (`v0.1`, `v0.2`, ...). CI builds gerbers, BOM and
schematic PDFs for the tag and attaches them to its release; CHANGELOG.md says
what each stage changes. In proplan the prototype stage links the tag.
## Versioning
| What | Tag | Scheme |
|---|---|---|
| Prototype stage | `v0.1`, `v0.2` | the next stage takes the next number |
| Firmware target | `firmware/<target>/v1.2.0` | SemVer |
| Software tool | `software/<tool>/2026.10.0` | CalVer `YYYY.MM.MICRO` |
TEMPLATE.md has the rules (what counts as breaking, pre-releases, changelogs).