release-versioning

Standardize releases with Conventional Commits, Semantic Versioning, and automated CHANGELOG generation.

Updated Jun 25, 2026
One-click install
npx skills add https://github.com/oriddd/ai-toolkit --skill release-versioning-oriddd
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: release-versioning
Source: https://github.com/oriddd/ai-toolkit/tree/main/copilot/public/skills/release-versioning
Command: npx skills add https://github.com/oriddd/ai-toolkit --skill release-versioning-oriddd

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Teams often ship releases with inconsistent version numbers, hand-edited changelogs, and mismatched git tags versus artifact versions, making it impossible to trace which code produced which deployable. This Skill defines a single, automated release contract so humans and CI pipelines always agree on the version. ## Core Features & Use Cases - Conventional Commits enforcement: Commit message format (feat, fix, BREAKING CHANGE) drives automatic SemVer bumps, validated by commitlint in CI. - Automated CHANGELOG and version bumps: Choose release-please or semantic-release to regenerate CHANGELOG.md, rewrite pom.xml versions, and create git tags without manual edits. - Git tag as single source of truth: Image tags, Maven artifact versions, and Helm Chart.appVersion all derive from the git tag, with a defined deprecation and hotfix policy. - Use Case: A team merging feature PRs to main wants release-please to open a release PR that bumps 1.3.0-SNAPSHOT to 1.4.0, regenerates the changelog, and tags v1.4.0 so the CI pipeline publishes a matching Docker image. ## Quick Start Apply the release-versioning skill to set up release-please with Conventional Commits and automated CHANGELOG generation for this repository.

Frequently Asked Questions about release-versioning

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I automate CHANGELOG generation from commit messages?

Use release-please or semantic-release to parse Conventional Commits and generate CHANGELOG.md automatically. Release-please opens a release PR that bumps the version and regenerates the changelog; the bot owns the file, so never edit it by hand.

What is the difference between release-please and semantic-release?

Release-please runs as a GitHub Action on main and opens a release PR that bumps pom.xml, regenerates the changelog, and tags on merge, suiting polyglot organizations. Semantic-release computes versions and publishes at the end of CI but requires more JavaScript tooling.

How do Conventional Commits map to Semantic Versioning bumps?

A `feat` commit triggers a minor bump, `fix` triggers a patch bump, and `feat!` or a `BREAKING CHANGE:` footer triggers a major bump. Types like `docs`, `chore`, `test`, and `ci` produce no version bump.

Should the Docker image tag match the git tag version?

Yes, the git tag is the single source of truth: tag `v1.4.0` maps to image tag `1.4.0`, and Helm `Chart.appVersion` mirrors the same value. Snapshot builds use the CI build number instead.

When should I edit pom.xml version manually in Maven projects?

Never edit the version manually. The working branch stays on a `-SNAPSHOT` version, and the release bot rewrites it to the release version, tags the commit, and bumps the next snapshot automatically.

How do I handle hotfixes for older major versions?

Create a `release/1.x` branch for hotfixes on older majors and cherry-pick relevant fixes into main. Never publish a `1.x.y` release after `2.0.0` exists without an explicit hotfix process and a CHANGELOG entry.