Skip to content

kh4f/relion

Repository files navigation

logo
npm version  bundle size  open bugs  license

A zero‑config npm lib for automating the release workflow:
version bumping, release commit & tag creation, and AI‑assisted changelog generation

Usage  •  Release Workflow  •  Changelog Generation

🕹️ Usage

$ bunx relion -h

Options:
  -b <files>    Files to bump the version in ['package.json']
  -v <version>  Release version [calculated from commits]
  -t <prefix>   Tag prefix [v]
  -d            Dry run [false]
  -y            Skip prompts [false]

Examples:
  bunx relion -b src/manifest.json  Bump a custom file
  bunx relion -d -v 1.2.3           Dry run with a custom version
  • package.json is always included in the bump list if exists
  • most files are bumped with a generic pattern; .rc files use a dedicated one
  • changes are not staged automatically before committing
  • to create a tag without a prefix, use -t ''
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
------------------------------

('' to continue / 's' to skip)
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"'

♻️ Release Workflow

  1. Context: generates a RELEASE.md file with upcoming release metadata and commit log
  2. Bump: updates version in specified files
  3. Commit: creates a release commit
  4. 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`

📋 Changelog Generation

Relion doesn’t format the changelog itself — instead, it generates a release context that you can turn into a polished changelog using AI.

Example workflow using GitHub Copilot:

  1. Set up the instruction and prompt
  2. Run Relion to generate RELEASE.md
  3. Review the release context
  4. Run /generate-changelog in VS Code Copilot chat
Generated changelog example (from the (*) release context using the instruction and prompt above; Gemini 3 Pro)
## &ensp; [` 📦 v0.33.0  `](https://github.com/kh4f/relion/compare/v0.32.1...v0.33.0)

### &emsp; 🎁 Features
- **Config merging utility**: added `mergeConfigs` implementation to support merging config profiles. [🡥](https://github.com/kh4f/relion/commit/e105d51)

### &emsp; 🩹 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)

##### &emsp;&emsp; [Full Changelog](https://github.com/kh4f/relion/compare/v0.32.1...v0.33.0) &ensp;&ensp; Jan 10, 2026

MIT License © 2025-2026 kh4f