simple-conventional-release
v2.0.2
Published
Simple automated release notes generator for Git repositories using Conventional Commits
Downloads
28
Readme
🚀 simple-conventional-release
A simple automated release notes generator for Git repositories using Conventional Commits.
Supports GitHub & GitLab and integrates seamlessly with CI/CD pipelines.
✨ Features
✅ Automated Release Notes – Generates a release note markdown file based on commit messages. ✅ Supports Conventional Commits – Categorizes commits into features, fixes, chores, etc. ✅ GitHub & GitLab Compatible – Generates correct compare links based on the repository host. ✅ Use via JavaScript API or CLI. ✅ Ideal for CI/CD pipelines.
📦 Installation & Usage
📀 Using the CLI
You can use the CLI via npx without installing the package globally.
🔄 Run via npx
npx simple-conventional-release --repository . --output RELEASE_NOTES.md --from v1.0.0 --to v1.1.0🏦 Install Globally
npm install -g simple-conventional-release🚀 Usage
simple-conventional-release --repository . --output RELEASE_NOTES.md --from v1.0.0 --to v1.1.0🔧 Available Options
| Option | Description | Default |
|-----------------------|--------------------------------------------------|---------|
| -r, --repository | Path to the Git repository | . |
| -o, --output | Output file for release notes | RELEASE_NOTES.md |
| --from | Starting tag for release notes generation | Auto-detected |
| --to | Ending tag for release notes generation | Latest tag |
| --with-title | Include title in the output (true or false) | true |
📜 Using the JavaScript API
You can integrate this tool directly into your JavaScript/TypeScript projects.
📥 Install the package:
npm install simple-conventional-release🚀 Generate release notes programmatically:
import { generateReleaseNotes } from 'simple-conventional-release';
generateReleaseNotes({
repositoryPath: '.',
tags: { from: 'v1.0.0', to: 'v1.1.0' },
outputPath: 'RELEASE_NOTES.md'
})
.then((notes) => console.log('Release Notes:\n', notes))
.catch((error) => console.error('Error:', error));📜 Conventional Commits Support
This tool supports the Conventional Commits specification to categorize commits automatically:
| Type | Description |
|------------|------------------------------------------------------|
| build | Changes that affect the build system or dependencies |
| chore | Routine tasks like refactoring, maintenance, or tooling updates |
| ci | Changes to CI/CD configuration or automation scripts |
| docs | Documentation updates only (e.g., README changes) |
| feat | Introduction of a new feature |
| fix | Bug fixes and patches |
| perf | Performance improvements that do not affect functionality |
| refactor | Code changes that do not add features or fix bugs |
| revert | Reverts a previous commit |
| style | Code style changes (formatting, whitespace, etc.) |
| test | Adding or updating tests |
📋 Roadmap
- [ ] Case Sensitivity – Support for case-insensitive commit types and messages.
- [ ] Customizable Templates – Allow users to define custom release note templates.
- [ ] Angular Commit Style – Support for Angular commit message style.
- [ ] Customizable Categories – Allow users to define custom commit categories.
- [ ] Full Generation – Generate full release notes with all tags.
📝 License
This project is licensed under the AGPL-3.0 License. See the LICENSE file for details.
🤝 Contributing
Contributions are welcome! Please follow the contribution guidelines.
📬 Issues & Feedback
If you encounter any issues, feel free to report them on our GitHub Issues.
