release

GitHub

指导完成 BetterCmdTab 应用从预检、版本递增、生成发布说明到构建、签名、公证及 GitHub 发布的端到端流程。

.agents/skills/release/SKILL.md rokartur/BetterCmdTab

Trigger Scenarios

用户希望发布新版本或 Beta 版 执行软件发布流程

Install

npx skills add rokartur/BetterCmdTab --skill release -g -y
More Options

Non-standard path

npx skills add https://github.com/rokartur/BetterCmdTab/tree/main/.agents/skills/release -g -y

Use without installing

npx skills use rokartur/BetterCmdTab@release

指定 Agent (Claude Code)

npx skills add rokartur/BetterCmdTab --skill release -a claude-code -g -y

安装 repo 全部 skill

npx skills add rokartur/BetterCmdTab --all -g -y

预览 repo 内 skill

npx skills add rokartur/BetterCmdTab --list

SKILL.md

Frontmatter
{
    "name": "release",
    "description": "Ship a BetterCmdTab release end to end. Use when the user wants a new version or beta published on GitHub."
}

Release runbook

One command does the heavy lifting; this skill is the order of operations and the failure points around it.

1. Preflight

Working tree clean on main, and the unit suite green:

xcodebuild -scheme "BetterCmdTab Debug" -destination 'platform=macOS' test

scripts/set_version.sh --show prints the current version. MAJOR tracks the macOS year; tags are bare (26.4.3, 26.0-beta.1 — no v prefix on new tags).

2. Bump the version (stable releases)

scripts/set_version.sh <version>   # sets MARKETING_VERSION and auto-commits "chore: bump …"

Skip for betas — build_release.sh --beta derives the next beta.N from existing GitHub tags itself.

3. Write the notes

Produce the release body with the release-changelog skill and save it to a file (e.g. notes.md in the scratchpad). The body is the GitHub Release description; its headings are parsed by build_release.sh, so the canonical structure from that skill is mandatory.

4. Build, sign, notarize, publish

scripts/build_release.sh --auto-release --notes notes.md          # stable
scripts/build_release.sh --beta --auto-release --notes notes.md   # beta (published as prerelease)

Step 0 is scripts/release_quality_gate.sh: a Release-configuration compile that fails on high-risk concurrency/Sendable warnings, plus (stable only) the localization audit — fix the reported issue, don't bypass the gate; it exists so a known-bad build never burns an archive + notarization slot. Signing needs the Developer ID Application: Artur Rok (N529W98U62) certificate and the BetterCmdTabNotarization notarytool profile. Without them use --skip-notarization (dev build only — it refuses --auto-release).

Artifacts land in build/release/. Each build stamps a fresh CURRENT_PROJECT_VERSION (app target only); --skip-build-bump disables that.

5. If publishing manually

When not using --auto-release:

gh release create <tag> -R rokartur/BetterCmdTab \
  --title "BetterCmdTab <version>" --notes-file notes.md   # add --prerelease for betas

Complete when: the GitHub release exists with the notarized artifacts attached and the notes match the release-changelog format.

Version History

  • 30e25b6 Current 2026-07-30 22:01

Same Skill Collection

.agents/skills/add-preference/SKILL.md
.agents/skills/localize-strings/SKILL.md
.agents/skills/release-changelog/SKILL.md
.agents/skills/verify/SKILL.md

Metadata

Files
0
Version
7d5fa2e
Hash
66610a92
Indexed
2026-07-30 22:01

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-04 01:57
浙ICP备14020137号-1 $Гость$