agentleFS
termio-shtermio-sh/termio/skills/bump-version/SKILL.md

bump-version

Skill787 starsChanged 3 months agoMITView on GitHub

Cut a new termio macOS release by tagging main with the next version. Invoke when the user says 'bump version', 'bump the version', 'cut a release', 'ship a new version', 'release', '发版', '发布新版本', or '出个新版本'.

  • Commits and pushes

42 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use oss-pr, pr-automation and 7 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • CES-LtdSkill

    oss-pr

    Use when creating a pull request, after committing changes, or when user invokes /oss-pr. Covers branch management, quality checks, commit, push, and PR creation.

    Also in 3 projects that use this

  • CES-LtdSkill

    pr-automation

    PR Automation Orchestrator: poll open PRs, check CI, run review, fix, and merge eligible PRs. Use when: (1) Invoked by daemon via scripts/pr-automation.sh, (2) User says "/pr-automation".

    Also in 3 projects that use this

  • volovelySkill

    pr-fix

    This skill should be used when the user asks to "fix PR comments", "address PR feedback", "resolve PR comments", provides a GitHub PR URL with intent to fix, or says "pr-fix". It reads all review comments on a PR, decides which need code fixes vs. replies, makes the fixes, and posts replies — all with explicit user approval before any GitHub action.

    Also in 3 projects that use this

  • lbednerSkill

    i18n

    Use when a code or template change introduces a new translation message key, in either the framework CLI (aegis/i18n/locales/) or a generated project's CLI (the app/i18n/locales/ template tree). Covers adding the real English string, stubbing the same key into every other locale for parity, and the separate translation PR that later replaces placeholders with reviewed native text.

    Also in 4 projects that use this

  • AnthropicSkill

    architecture

    Create or evaluate an architecture decision record (ADR). Use when choosing between technologies (e.g., Kafka vs SQS), documenting a design decision with trade-offs and consequences, reviewing a system design proposal, or designing a new component from requirements and constraints.

    Also in 4 projects that use this

  • NVIDIASkill

    testing

    Run Python and Rust tests for physicsnemo-curator using uv + pytest with coverage reporting via pytest-cov, and cargo-nextest for Rust tests. Includes benchmark workflows with pytest-benchmark and criterion.

    Also in 5 projects that use this

  • +2 more from CES-Ltd

The file

We split this skill into the rules it gives an agent

7 rules. 0 are common, 4 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 39 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Follow these steps in order.

    line 13
  2. Very specific:

    Must be on main and even with origin/main (the tag ships whatever main points at right now).

    line 25
  3. Distinctive:

    Read the current version and compute the next one:

    line 32
  4. Very specific:

    Add the entry for the version you are about to tag before tagging — the Docs workflow fails once a tag exists without one, and a changelog …

    line 54
  5. Very specific:

    Write it in the file's voice: a title naming what the release is remembered for, then short user-facing new / improved / fixed lines — what …

    line 62
  6. Distinctive:

    If the build failed for an infrastructure reason (a secret, a flaky runner) and main is unchanged, delete and re-push the same tag — the …

    line 105
  7. Distinctive:

    If code had to change to fix it, that's a new commit on main, so cut the

    line 114

“Common” is measured: kept by at least 6 in 10 of the 39 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Bump version — cut a termio release

termio is trunk-based: a release is nothing but a vX.Y.Z tag on main. Pushing the tag fires .github/workflows/release.yml (the Release workflow), which signs, notarizes, packages the DMG, updates the Sparkle appcast, and uploads to Cloudflare R2. There is no merge and no release branch.

Follow these steps in order. Stop and report if any precondition fails — never force past a failed check.

1. Preconditions

git switch main
git pull --ff-only
git status --short          # release-relevant work must be committed
git rev-parse --abbrev-ref HEAD    # must print: main
  • Must be on main and even with origin/main (the tag ships whatever main points at right now).
  • The working tree may have unrelated untracked scratch files, but anything meant for this release must already be committed and pushed.

2. Pick the next version

Read the current version and compute the next one:

git tag --list 'v*' --sort=-v:refname | head -1     # e.g. v0.13.1

Decide X.Y.Z (semver, no v when talking, v in the tag):

  • Explicit version from the user (e.g. "0.14.0") → use it verbatim.
  • A bump keyword → apply it to the latest tag: patch (0.13.1→0.13.2), minor (0.13.1→0.14.0), major (0.13.1→1.0.0).
  • Nothing specified → propose the bump you believe fits (termio has used minor for features, patch for fixes) and confirm the number with the user before tagging.

The version must only ever go up — the build number is git rev-list --count HEAD, and Sparkle treats a lower CFBundleVersion as older, which breaks auto-update. Never reuse or lower a version.

3. Write the changelog entry

The site's changelog is web/landing/src/data/changelog.ts, newest entry first. Add the entry for the version you are about to tag before tagging — the Docs workflow fails once a tag exists without one, and a changelog that trails the releases makes the site read as abandoned.

gh release view "v$PREVIOUS" --json body -q .body     # what shipped since

Write it in the file's voice: a title naming what the release is remembered for, then short user-facing new / improved / fixed lines — what changed, not how. Skip a release whose only changes were docs, deps, or the landing page.

cd web/landing && pnpm docs:check     # must pass before you tag

4. Tag and push

V=0.14.0                       # the version you settled on
git tag "v$V"
git push origin "v$V"

That push is what triggers the release. Nothing else in the repo needs editing — the tag is the version.

5. Watch the Release workflow

gh run watch --repo termio-sh/termio \
  "$(gh run list --repo termio-sh/termio -w Release -L1 --json databaseId -q '.[0].databaseId')"

Report green/red to the user. If it fails, diagnose from the run log; the troubleshooting table is in docs/runbook/macos-release-runbook.md.

6. Verify (when green)

V=0.14.0
curl -sI https://downloads.termio.sh/termio.dmg     | head -1   # 200
curl -sI https://downloads.termio.sh/v$V/termio.dmg | head -1   # 200
curl -s  https://downloads.termio.sh/appcast.xml | grep -i shortVersionString | head -1

The newest appcast item should advertise the new version. Full verification (staple check, Gatekeeper, Sparkle end-to-end) lives in the runbook.

Re-running a failed release

If the build failed for an infrastructure reason (a secret, a flaky runner) and main is unchanged, delete and re-push the same tag — the version must not go backwards:

git push --delete origin "v$V" && git tag -d "v$V"
git tag "v$V" && git push origin "v$V"

If code had to change to fix it, that's a new commit on main, so cut the next version instead of reusing the tag.

Notes

  • iOS releases are separate (.github/workflows/ios.yml + TestFlight); this skill is the macOS tag flow only.
  • This skill does not commit anything. Land the release's code on main first (directly or via a merged PR), then run this.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.