setmac-release-ops · git:20260318.c422b9f · 2026-03-18 · sha256 a95859a15d61fc48
setmac-release-ops git:20260318.c422b9fA
Immutable. This exact content never changes and is served at /api/v1/blob/a95859a15d61fc48.
--- name: setmac-release-ops description: Manage setmac releases, semantic-release versioning, signing, notarization, and packaged app hotfixes. Use when working on GitHub Actions release workflows, changelog/version bumps, DMG or standalone CLI artifacts, Gatekeeper issues, or launch failures in shipped builds. --- # Setmac Release Ops ## Use this skill when - the user asks to cut `canary`, `beta`, or stable releases - a release workflow or semantic-release config needs changes - signing, notarization, or Gatekeeper behavior is involved - the shipped app crashes or behaves differently than `swift run` - AI instructions for release work need updating ## Core rules - Use Conventional Commits. - Keep one logical change per commit. - Do not hand-edit release version numbers. - Default to `canary` or `beta` unless the user explicitly asks for stable. ## Release model - `canary` -> `vX.Y.Z-canary.N` - `beta` -> `vX.Y.Z-beta.N` - stable -> manual `Release Stable` workflow from `main` ## Required outputs - `dist/Setmac.dmg` - `cli/dist/setmac-cli` ## Validation checklist Run the smallest relevant set: ```bash uv run semantic-release --noop version just release-dry-canary just release-dry-beta NEW_VERSION="9.99.99-test" bash scripts/release-build.sh just release-verify ``` ## Packaging and signing notes - Release builds must go through `scripts/release-build.sh`. - Packaged apps must include SwiftPM resource bundles from `.build/release/*.bundle`. - Shipped resources should load from `Bundle.main`. - Ad-hoc signing is acceptable as a fallback, but note that Gatekeeper may still block downloads until Apple notarization secrets are configured. ## Reference Read `docs/ai-maintainer-playbook.md` for the full release and hotfix workflow.