
Release Swift
Cut a release of OpenUsage (Swift menu-bar app): pick a version, generate a categorized...
Install
npx skills add robinebers/openusage --skill release-swift -g -a claude-code -y- Repository
- robinebers/openusage4.5k
- Category
- Mobile
- Updated
- 3d ago
- License
- MIT
- Context cost
- Mediumabout 1,570 tokens
- Runs scripts
- No, instructions only
What it does
Cut a release of OpenUsage (Swift menu-bar app): pick a version, generate a categorized changelog, tag from `main`, and publish the GitHub Release with notes. Use to ship an Early Access beta or a stable release.
Release Swift
Pushing a v* tag on main runs .github/workflows/release.yml, which builds, signs, notarizes, attaches OpenUsage-<version>.dmg to the GitHub Release, and updates the Sparkle appcast.xml on gh-pages. CI creates the release with an EMPTY body, so this skill generates the changelog, records it in CHANGELOG.md, and publishes the notes onto the release.
Channels
- Beta (Early Access): suffixed tag like
v0.7.1-beta.1. Marked a GitHub pre-release and added to Sparkle'sbetachannel. Only users with Early Access enabled get it; GitHub "Latest" is untouched. - Stable: plain tag like
v0.7.1. Marked non-prerelease, becomes GitHub "Latest", and ships to everyone.
The tag IS the version: v0.7.1-beta.1 becomes CFBundleShortVersionString = 0.7.1-beta.1, and CFBundleVersion is the git commit count. There are no version files to bump.
Cutting a release
1. Choose the version
Next number in the current lane (default bump: patch). Beta builds add a -beta.N suffix. Confirm with the owner before proceeding.
2. Generate the changelog
Collect commits since the previous release in the same channel and categorize each:
- Stable cut: span from the last stable tag to this one (e.g.
v0.7.0...v0.7.1), so the notes roll up the entire beta series plus any post-beta commits. Never start a stable changelog at the last beta, that would omit every beta in the lane. - Beta cut: span from the previous tag (the prior beta, or the last stable if it's the first beta in a lane) to this one.
| Commit prefix | Category |
|---|---|
feat, feature, or starts with "Add" | New Features |
fix or starts with "Fix" | Bug Fixes |
refactor, enhance | Refactor |
chore, style, docs, perf, test, ci, build | Chores |
| Uncategorized | Bug Fixes |
Author attribution (required on every entry):
