relit - Release Notes Generator
Streamline the generation of release notes from your changelog file effortlessly. Whether you're managing a large-scale project or a smaller development effort, Relit empowers you to create professional and comprehensive release notes with ease. Relit read the changelog file from top to bottom and create release file from it. Relit relies on version tags in the changelog as the parssing boundary. The version tags should follow sermantic versioning (vX.Y.Z
).

Installation
To install relit into your project, run:
npm i @zhid0399123/relit
NOTE: Relit is also available as a command line interface which enables you to generate release notes effortlessly from the terminal. To install relit cli run:
npm i -g @zhid0399123/relit
For available commands, run:
relit help
Example
To use it in your project, configure relit
in your package.json file by running the following command:
npm pkg set scripts.relit=relit
To generate release text later on, run:
npm run relit
Above command will read CHANGELOG.md
and generate RELEASE.md
file in the root directory of the project. By default, the file to read from is CHANGELOG.md
and output file to write to is RELEASE.md
Options
To customize the default behaviour of relit, you can pass several options when runing relit.
--read|| -r
:
Specify the dir/filename from which relit should read from. Example:
npm run relit --read "CHANGELOG.md"
--out|| -o
:
Specify the dir/filename to which relit should output/write. Example:
npm run relit --out "RELEASE.md"
--count|| -c
:
Specify the number of releases that should be written to the output file. Example:
npm run relit --count 1
CI/CD
For automation purposes, relit can be used together with softprops/action-gh-release
to generate release notes on tags push.
Below is the workflow example that impliment relit
and softprops/action-gh-release
to generate release notes.
name: Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: read
jobs:
releae:
permissions:
contents: write
runs-on: ubuntu-latest
environment: release
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 21
name: Install dependencies
run: npm ci
- name: Publish Packages
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
npm config set "//registry.npmjs.org/:_authToken" "${NPM_TOKEN}" # pnpm config set is broken
pnpm release
- name: Generate release description
run: pnpm run relit
- name: Release
uses: softprops/action-gh-release@v1
with:
draft: true
files: dist/*
body_path: RELEASE.md
TODO
Tailor release notes to meet your project's specific requirements using customizable templates and formatting options.
Contributing
We welcome contributions and suggestions to enhance the functionality and robustness of the relit
. Please refer to the Contributing Guidelines to get started.
Copyright and license
Copyright (c) 2024 Zidikhery Mchomvu
Licensed under the MIT License.