A zero‑config release automation tool
version bumping, tagging, committing, and AI changelog generation
Usage • Release Workflow • Changelog Generation
$ bunx relion -h
Usage: relion [steps] [options]
Steps (e.g. 'bm' = bump + commit; omit to run all):
c Generate release context
b Bump version in files
m Create commit
t Create tag
Options (with defaults):
-v <version> Release version [calculated from commits]
-b <files> Files to bump the version in [package.json]
-t <prefix> Tag prefix [v]
-d Dry run [false]
-y Skip prompts [false]
Examples:
bunx relion bm -v 1.2.3 Bump and commit with custom version
bunx relion ct -t relion@ Generate context and create tag with custom prefix
bunx relion -b src/manifest.json Bump version in custom file
bunx relion -d Dry run of all stepspackage.jsonis always included in the bump list if exists- to create a tag without a prefix, use
-t '' - type 's' at any prompt to skip that step
Example output of running bunx relion:
Project: relion
Repo: github.com/kh4f/relion
Current tag: v0.42.1
Current version: 0.42.1
Parsed commits: 26
New version: 0.43.0
New tag: v0.43.0
Commit message: 'chore(release): v0.43.0'
Setps: context, bump, commit, tag
------------------------------
About to write context to 'RELEASE.md'
About to bump version in files: package.json
About to commit changes: 'git commit -m "chore(release): v0.43.0"'
About to create a tag: 'git tag v0.43.0 -m "chore(release): v0.43.0"'
- Context: generates a
RELEASE.mdfile with upcoming release metadata and commit log
The log is automatically filtered to exclude non-user-facing commits. - Bump: updates version in specified files
Most files are bumped with a generic pattern;.rcfiles use a dedicated one. - Commit: creates a release commit
Changes are not staged automatically before committing, unless-yis passed. - Tag: creates an annotated release tag
Generated release context example (*):
---
tag: v0.33.0
prevTag: v0.32.1
date: Jan 10, 2026
repoURL: github.com/kh4f/relion
---
## Commit Log
[8f29acf] fix(versioner): ensure breaking changes take priority over features in release type calculation
Previously, if commits contained both features and breaking changes, features would be checked last and could incorrectly override the 'major' release type with 'minor'.
------------------------------
[e105d51] feat(config-merger): add `mergeConfigs` implementation and export
- Implement `mergeConfigs` to support merging config profiles in `config-merger.ts`
- Export `mergeConfigs` from `src/index.ts`Relion doesn’t format the changelog itself. Instead, it generates a RELEASE.md file with release metadata and commit log, and provides a generate-changelog skill to turn that context into a polished changelog entry with AI.
Recommended workflow:
- Install the skill:
bunx skills add kh4f/relion [-g]
(see theskillsCLI docs) - Run Relion to generate
RELEASE.md - Review the generated release context
- Ask your AI agent to generate a changelog
Generated changelog example (from the (*) release context; Gemini 3 Pro)
##   [` 📦 v0.33.0 `](https://github.com/kh4f/relion/compare/v0.32.1...v0.33.0)
###   🎁 Features
- **Config merging utility**: added `mergeConfigs` implementation to support merging config profiles. [🡥](https://github.com/kh4f/relion/commit/e105d51)
###   🩹 Fixes
- **Correct release type calculation**: breaking changes now correctly take priority over features when determining the release type, preventing incorrect minor bumps. [🡥](https://github.com/kh4f/relion/commit/8f29acf)
#####    [Full Changelog](https://github.com/kh4f/relion/compare/v0.32.1...v0.33.0)  •  Jan 10, 2026