
version-bump
by firstloophq
SKILL.md
name: version-bump description: Increment app version numbers. Use when user asks to bump version, increment version, or prepare a release.
Version Bump
Action
When this skill is invoked:
- Read current version from
mac-app/macos-host/Info.plist - Increment CFBundleShortVersionString (bump the last number, e.g.,
0.2.0-alpha.10→0.2.0-alpha.11) - Increment CFBundleVersion build number (e.g.,
11→12) - Apply the changes to Info.plist
- Report the version change to the user
Single Source of Truth
All version information comes from:
mac-app/macos-host/Info.plist
Two version fields:
- CFBundleShortVersionString: Display version (e.g.,
0.2.0-alpha.4) - CFBundleVersion: Build number (e.g.,
5) - must be incremented for every release
How to Update Version
- Edit
mac-app/macos-host/Info.plist - Update both fields:
<key>CFBundleShortVersionString</key>
<string>0.2.0-alpha.5</string>
<key>CFBundleVersion</key>
<string>6</string>
Important: Always increment CFBundleVersion. Sparkle uses this numeric value to determine if an update is available.
Version Format
Follow semantic versioning with optional pre-release identifiers:
MAJOR.MINOR.PATCHfor stable releases (e.g.,1.0.0)MAJOR.MINOR.PATCH-alpha.Nfor alpha releases (e.g.,0.2.0-alpha.4)MAJOR.MINOR.PATCH-beta.Nfor beta releases (e.g.,0.2.0-beta.1)
Release Process
- Update version in
Info.plist(both fields) - Commit the change
- Push to main
- Go to GitHub Actions and manually trigger the "Release macOS App" workflow
- The workflow will:
- Read version from Info.plist
- Build and sign the app
- Notarize with Apple
- Create GitHub release with tag
v{version} - Update the appcast at releases.nomendex.com
Where Version is Used
| Location | Source | Purpose |
|---|---|---|
| Info.plist | Manual edit | Single source of truth |
| GitHub Release | Workflow reads Info.plist | Release tag and assets |
| Appcast XML | Workflow reads Info.plist | Sparkle update detection |
| UI Sidebar | /api/version endpoint | Display to user |
API Endpoint
The sidecar serves version info at /api/version:
{
"version": "0.2.0-alpha.4",
"buildNumber": "5"
}
This reads from Info.plist at runtime, checking multiple paths for dev vs bundled app.
Sparkle Update Detection
Sparkle compares CFBundleVersion (build number) to determine updates:
- Current app: build
5 - Appcast shows: build
6 - Result: Update available
This is why CFBundleVersion must always increase, even for the same display version.
Score
Total Score
Based on repository quality metrics
SKILL.mdファイルが含まれている
ライセンスが設定されている
100文字以上の説明がある
GitHub Stars 100以上
3ヶ月以内に更新がある
10回以上フォークされている
オープンIssueが50未満
プログラミング言語が設定されている
1つ以上のタグが設定されている
Reviews
Reviews coming soon