docs: add tag release workflow to AGENTS.md

This commit is contained in:
2026-06-15 00:41:53 +02:00
parent 974b33e827
commit 37b3d333cd
+67
View File
@@ -105,6 +105,73 @@ Implement CRC8-CCITT (poly 0x07) for CRSF frame validation.
Added unit tests for empty, single-byte, and known-value cases.
```
## Tag Releases
Use annotated tags for releases. Write the release notes to a temporary
file, then use it as the tag message. Do **not** commit the release
notes file.
Write release notes:
```sh
cat > RELEASES.md << 'EOF'
# Releases
## 0.1.0 (2026-06-15)
Initial release. Windows-only support.
### Library (`celrs`)
- **CRSF protocol**: CRC8/DVB-S2 validation, frame parsing, and frame
construction (RC channels, device ping, parameter read/write).
- **Telemetry decoders**: GPS, battery, link stats, attitude, flight
mode, vario, barometric altitude, airspeed, heartbeat, RPM,
temperature, voltages, ESC, and more.
- **Streaming parser**: incremental frame extraction from raw byte
streams with CRC validation.
- **Parameter protocol**: device ping, parameter read/write, and
TX power configuration by enumerating ELRS parameters.
- **Serial port abstraction**: open/close/read/write with baud-rate
probing (handles CP210x chips that cannot hit 921600 exactly),
port listing, and auto-detection of ELRS-like devices.
- **Logger**: level-filtering logger (debug/info/warn/error) with
a stdout sink.
### Tools
- **`telemetry`**: live dashboard that connects to an ELRS TX module
and displays link quality (RSSI, LQ, SNR, power), battery (voltage,
current, capacity, percentage), IMU attitude, flight mode, and a
frame-type breakdown. Supports auto-detect, `--list`, `--port`,
and `--baudrate` options.
### Notes
- Platform support: **Windows only** (via MinGW/MSVC on CMake + Ninja).
- Built against C23; tested with GCC 14+ and Clang 18+.
- Dependencies (Unity, CMock) are fetched automatically at configure
time. No manual setup required.
EOF
```
Create the annotated tag:
```sh
git tag -a v0.1.0 -F RELEASES.md
```
Verify:
```sh
git show v0.1.0
```
Remove the temporary file:
```sh
rm RELEASES.md
```
Release notes follow the same Markdown rules as `AGENTS.md` (80-column
wrap, no em dashes, etc.). Version format is `v<major>.<minor>.<patch>`.
## Documentation (Markdown)
- Wrap normal text and lists at **max 80 columns** (for readability in