rota

/rota-release

Cut a release: checklist, version bump, notes, tag, publish.

Manual only: you type it, other skills never start it.

When to use

Use on “release”, “cut a release”, “tag a release”, “ship X.Y.Z”.

Reach for another skill when

  • you are landing one branch, not tagging a release: /rota-ship
  • you only need the public docs brought up to date: /rota-docs
Usually before/rota-learn
/rota-release
Usually afternothing in particular
Example
/rota-release
Checklist (.rota/RELEASE.md): all items pass.
Commits since v0.25.0: 1 feature, 4 fixes. Recommend minor.
minor
Release notes drafted for v0.26.0.
Notes look good? Yes pushes the tag and publishes the release. (manual gate)
What changes
  • version file and CHANGELOG.md updated in a chore: release commit
  • an annotated git tag, pushed after your yes
  • a published GitHub or GitLab release
Where this example comes from

Flags and modes

major | minor | patch | <semver>
set the bump level instead of being asked
--dry-run
run the flow without tagging or publishing; skips the close-upstream-issues gate

Details

Cuts a release end to end: walks the project’s release checklist (.rota/RELEASE.md by default; override with release.checklistPath) as a preflight gate, bumps the project version (major/minor/patch or explicit semver), generates categorized release notes from commits since the last tag, prepends a section to CHANGELOG.md (creating it if absent), creates an annotated git tag, pushes commit and tag, and publishes a release on GitHub or GitLab when origin is set. It detects the version source (plugin.json, package.json, pyproject.toml, Cargo.toml, plain VERSION) and honors a release.versionFile override.

The checklist file is per-project and tracked by default; see release checklist for the format. When absent, the skill offers to scaffold a starter (under autonomy.level: off) or skips the gate silently (under auto). Items ending in (manual) always interject even in unattended modes.

After publishing, an always-manual gate offers to close any upstream GitHub/GitLab issues that landed in the release but are still open. It covers the direct-push path where work skipped /rota-ship (or chose “leave open”) and the linked issues never closed. Candidates come from rota issues imported --open-only; the gate is silent when nothing is open. Skipped entirely in --dry-run mode.

Edit this page on GitHub