···11<p align="center">
22- <img src="https://prowl.onev.cat/images/prowl-icon.png" width="128" alt="Prowl">
22+ <img src="https://prowl.onev.cat/images/prowl-icon-rounded.png" width="128" alt="Prowl">
33</p>
4455<h1 align="center">Prowl</h1>
···121121122122### Release
123123124124+Day-to-day releases are driven by the `release` [Claude Code](https://claude.com/product/claude-code) skill defined in [`.claude/skills/release/SKILL.md`](.claude/skills/release/SKILL.md). It wraps two scripts you can also run directly:
125125+124126```bash
125125-make bump-version # Bump version and create a git tag
126126-make bump-and-release # Bump and push to trigger the release workflow
127127+./doc-onevcat/scripts/release-notes.sh <VERSION> # Generate user-facing notes → build/release-notes.md
128128+./doc-onevcat/scripts/release.sh <VERSION> # Bump, build, sign, notarize, DMG, appcast, GitHub Release, Prowl-Site update
127129```
130130+131131+The skill walks the flow interactively: verify branch & tree state, confirm the version, review the generated notes, then run `release.sh`. All fork releases are notarized.