Release
| This documentation was generated with the assistance of AI. Please report any inaccuracies. |
Convert the current development SNAPSHOT into a final release: cut a release_x.y.z branch off develop,
update every place that names the current release/snapshot version, draft the "what’s new" notes, and open a
pull request. This mirrors the repository’s existing release history (release_1.0.0 … release_1.3.0, each a
PR into main) — it follows that gitflow convention rather than inventing its own.
Purpose
iru-release automates the mechanical parts of cutting a release so nothing gets missed or drifts out of sync: the
version number itself, every file that echoes it (pom.xml, README.md, docs/antora.yml, Antora pages with
dependency snippets), the human-readable release notes (whats-new.adoc and CHANGELOG.md), and the pull
request that carries the release branch into main/master. It is strict about gitflow — it refuses to run
from anywhere but develop — so the release branch always originates from the same integration branch this
repository’s history already shows it does.
Inputs
| Argument | Required | Description | Default |
|---|---|---|---|
Release version |
Yes (asked interactively) |
The version to cut, chosen via |
Current SNAPSHOT with |
Upcoming SNAPSHOT version |
Yes (asked interactively) |
The next development version, chosen via |
Minor bump on the release version, |
Outputs
-
A pushed
release_<version>branch, branched fromdevelop. -
pom.xmlupdated to the release version;README.md,docs/antora.yml, and any Antora page with a dependency snippet updated to show the release version as "latest release" and the upcoming SNAPSHOT as "latest snapshot". -
docs/modules/ROOT/pages/whats-new.adocwith a new, newest-first section for the release, andCHANGELOG.mdwith[Unreleased]renamed to the release’s dated section (Keep a Changelog format) and a fresh empty[Unreleased]above it. -
A commit on the release branch, and a pull request opened against
main/mastertitledRelease <version>, carrying airu-releaselabel and a description filled in from the actual diff. -
A final report naming the versions chosen, the branch/PR, the files touched, and a reminder that merging and publishing the release triggers the
Syncworkflow’s automatic snapshot bump back intodevelop. -
If run from any branch other than
develop: no files are touched at all — the skill stops at Step 1.
Execution flow
Dependencies
Invokes
-
Setup Readme — Step 7, to refresh
README.md’s version references (latest release / latest snapshot) once `pom.xmlalready carries the new release version. Ifiru-setup-readmeisn’t available in the repository,iru-releasefalls back to updating those same mentions inREADME.mdby hand instead. -
PR Description — Step 14, passing the release PR’s target branch as a
base-branchargument so the description is drafted against the branch the PR actually targets, to draft and fill in the release pull request’s description once it has been opened in Step 13.
iru-release does not invoke Setup Changelog even though both skills touch CHANGELOG.md.
iru-setup-changelog is a one-time bootstrap for a repository that has no changelog yet; iru-release composes and
edits CHANGELOG.md directly itself on every run (Step 10), since by the time a repository is cutting releases
the changelog already exists and just needs its [Unreleased] section turned into a dated release entry.
Invoked by
None — iru-release is a top-level entry point, run directly by a person via /iru-release.
Related agents
-
iru-change-summarizer— Step 10, to summarize the commit/diff range since the previous release into user-facing changes forwhats-new.adoc/CHANGELOG.md, keeping the rawgit log/diff content out of this skill’s own context — the same agentiru-setup-changeloguses, applied here to a single range instead of a fan-out across many past releases.
Source
SKILL.md on GitHub — the file this page was generated from.