Package Exports
- simple-conventional-release
- simple-conventional-release/dist/src/main.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (simple-conventional-release) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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.