π‘ commit-analyzer-cz

A Conventional Commits analyzer for go-semantic-release.
How the commit messages are analyzed
Bump major version (0.1.2 -> 1.0.0)
Bump minor version (0.1.2 -> 0.2.0)
Bump patch version (0.1.2 -> 0.1.3)
Customizable Release Rules
It is possible to customize the release rules by providing options to the analyzer. The following options are available:
Option |
Default |
major_release_rules |
*! |
minor_release_rules |
feat |
patch_release_rules |
fix |
β οΈ Commits that contain BREAKING CHANGE(S)
in their body will always result in a major release. This behavior cannot be customized yet.
Rule Syntax
A rule may match a specific commit type, scope or both. The following syntax is supported: <type>(<scope>)<modifier>
<type>
: The commit type, e.g. feat
, fix
, refactor
.
<scope>
: The commit scope, e.g. lang
, config
. If left empty, the rule matches all scopes (*
).
<modifier>
: The modifier, e.g. !
for breaking changes. If left empty, the rule matches only commits without a modifier.
- A
*
may be used as a wildcard for a type, scope or modifier.
Example Rules
Commit |
feat (or feat(*) |
*! (or *(*)! ) |
chore(deps) |
*π |
feat(ui): add button component |
β
|
β |
β |
β |
feat!: drop support for Go 1.17 |
β |
β
|
β |
β |
chore(deps): update dependencies |
β |
β |
β
|
β |
refactor: remove unused code |
β |
β |
β |
β |
fixπ: correct minor typos |
β |
β |
β |
β
|
References
Licence
The MIT License (MIT)
Copyright Β© 2024 Christoph Witzko