simple-conventional-release v2.0.2
š 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.