Template
TEMPLATE.md Versioning section; notes in README, CHANGELOG and the firmware/software READMEs. Source: contrib/product-template in B4L/proplan.
36 lines
1.4 KiB
Markdown
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).
|