release-rapture-mac

Automates the notarized build, tag, and GitHub Release pipeline for Rapture for Mac.

Updated May 16, 2026
One-click install
npx skills add https://github.com/NoiseMeldOrg/rapture-mac --skill release-rapture-mac-noisemeldorg
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: release-rapture-mac
Source: https://github.com/NoiseMeldOrg/rapture-mac/tree/main/.claude/skills/release-rapture-mac
Command: npx skills add https://github.com/NoiseMeldOrg/rapture-mac --skill release-rapture-mac-noisemeldorg

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Cutting a Rapture for Mac release involves a fragile sequence of steps — building, signing, notarizing, stapling, DMG packaging, Sparkle appcast signing, changelog cutting, and GitHub Release publishing — where small mistakes (tagging the wrong commit, missing Sparkle keys, unpushed tags) silently break auto-updates or produce mismatched versions. ## Core Features & Use Cases - End-to-end release pipeline: Runs Scripts/release.sh to build, Developer ID sign, notarize twice (app and DMG), staple, and package the DMG, then verifies notarization status and Sparkle appcast updates. - Version and tag discipline: Enforces the rule that version equals git commit count and the release tag must point at the build commit, not the changelog-cut commit, avoiding off-by-one version tags. - Publish ritual: Cuts the CHANGELOG, updates the roadmap status, commits and pushes main, pushes the tag, and creates the GitHub Release with the DMG attached. - Use Case: A maintainer says "cut a release" and the skill walks through preflight checks (keychain profile, sign_update on PATH, EdDSA key match), runs the pipeline, and publishes v1.0.NN with correct notes and SHA-256. ## Quick Start Ask the assistant to cut a new Rapture for Mac release and publish it to GitHub Releases.

Frequently Asked Questions about release-rapture-mac

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I cut a notarized macOS app release on GitHub?▼

Run Scripts/release.sh to build, sign, notarize, staple, and package the DMG, then cut the changelog, tag the build commit, push the tag, and run gh release create with the DMG attached. The skill enforces each step in order.

How is the Rapture for Mac version number determined?▼

The version is 1.0.<count> where count comes from git rev-list --count HEAD on main, baked into the build's Info.plist by Scripts/set_git_version.sh. The tag must point at the build commit, not the later changelog-cut commit.

Why does gh release create fail with target_commitish is invalid?▼

The GitHub CLI rejects a short SHA passed via --target. Create and push the git tag explicitly first, then run gh release create against the existing tag name.

Why does Sparkle auto-update signing fail during a release?▼

Stage 10 needs sign_update on a stable PATH directory and the private EdDSA key in the login keychain matching the committed SUPublicEDKey. Tools installed only under /tmp vanish on reboot, silently skipping appcast signing.

Why does notarization reject the app with Sparkle framework errors?▼

Sparkle ships nested helpers (Updater.app, Autoupdate, XPC services) ad-hoc-signed, and Xcode does not re-sign them. Stage 3b of release.sh re-signs each nested binary with the Developer ID certificate before notarization.

What prerequisites are needed before running the release pipeline?▼

You need a clean main branch, a Developer ID Application certificate for team P8PLTH44DF, a notarytool keychain profile named rapture-mac-notary, create-dmg installed, and Sparkle sign_update plus the EdDSA key configured.