···11+---
22+name: release
33+description: bump version, update changelog, tag and push a release
44+---
55+66+release the current changes. context (if any): $ARGUMENTS
77+88+## version locations
99+- `build.zig.zon` line 3: `.version = "x.y.z"`
1010+- `src/relay/main.zig`: grep for `version=` in metrics endpoint
1111+- `CHANGELOG.md`: add new section at top
1212+1313+## steps
1414+1515+1. **diff**: `git diff main --stat` + `git log main..HEAD --oneline` to understand what's shipping
1616+2. **decide bump**: patch (fixes/small), minor (new features/APIs), major (breaking changes)
1717+3. **update versions**: edit `build.zig.zon` and `src/relay/main.zig`
1818+4. **changelog**: add `## x.y.z` section at top of CHANGELOG.md
1919+ - one line per change, prefixed with `**feat**:`, `**fix**:`, `**refactor**:`, `**docs**:`
2020+ - match existing style (terse, technical, no fluff)
2121+5. **devlog**: if the work is substantial (new subsystem, major perf win, interesting technical story), suggest a devlog entry — ask before writing one
2222+6. **verify**: `zig fmt --check . && zig build test`
2323+7. **commit**: stage changed files, commit as `release: vx.y.z`
2424+8. **tag + push**: `git tag vx.y.z && git push origin main --tags`