Release Skill
Use this skill when the user says "cut a release", "release", "cut a new release", "publish a release", or similar.
Two Modes
1. CI Release (default)
Triggered by: "cut a release", "release", "new release", etc.
Bumps the version, pushes, and triggers the GitHub Actions workflow to build, sign, notarize, and publish.
Run the CI release script:
./scripts/release-ci.shIf the release tag already exists, automatically:
- Bump the patch version again (e.g., 0.1.30 → 0.1.31)
- Re-run:
./scripts/release-ci.sh - Do NOT stop or ask the user - just handle it automatically
Report that the release was triggered and link to: https://github.com/saadnvd1/aTerm/actions
2. Local Release
Triggered by: "cut a release locally", "release manually", "local release", "manual release", etc.
Builds, signs, notarizes, and publishes entirely from the local machine.
Run the local release script:
./scripts/release.shIf the script says "Release vX.Y.Z already exists", automatically:
- Bump the patch version in both:
src-tauri/tauri.conf.jsonsrc-tauri/Cargo.toml
- Commit with
chore: bump version to X.Y.Z - Re-run
./scripts/release.sh - Do NOT stop or ask the user - just handle it automatically
- Bump the patch version in both:
If the script fails for other reasons, you can manually:
- Build:
npm run tauri build - Create release:
gh release create v{VERSION} --title "aTerm v{VERSION}" --generate-notes src-tauri/target/release/bundle/dmg/aTerm_{VERSION}_aarch64.dmg
- Build:
Report the release URL when done.
Requirements
ghCLI authenticated- For local releases: Apple signing credentials in
src-tauri/.env.local - For CI releases: GitHub Actions secrets configured (APPLE_CERTIFICATE, etc.)
Converted and distributed by TomeVault — claim your Tome and manage your conversions.