Modern native git hooks made easy. You can use it to lint your commit messages, run tests, lint code, etc… when you commit or push.
lint-staged
Run linters on git staged files.
Python
commitizen
The commitizen command line utility.
commitlint
Lint commit messages.
standard-version
Automate versioning and CHANGELOG generation, with semver.org and conventionalcommits.org
semantic-release
Fully automated version management and package publishing.