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, 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.