English - Español
CLint: Conventional commits linter

CLint
is a command line tool that allows you to validate messages related to git commits in different ways, ensuring
that the message is Conventional Commits compliant.
Technologies
- python, for its awesomeness. Supported versions: 3.7.2+
- poetry, for packaging and dependency management
- change, to help generate the changelog
Installation
For now, the only way to install CLint
is through pip
(or tools like poetry
and pipenv
, which use pip
behind
the scenes), but we are working on making CLint
available through package managers, like homebrew
, chocolatey
and
others.
$ pip install clint-cli
$ poetry add clint-cli
$ pipenv install clint-cli
Key features
- Validate a commit message in the command line.
- Allow to handle git
commit-msg
hook. - Validate a commit message in the command line through pipes.
Planned features
- Make pre-commit compatible.
- Allow to build a commit message through command line prompts.
Usage examples
$ clint "feat(scope): validate this message"
Your commit message is CC compliant!
$ echo "feat(scope): validate this message" > commit_message.txt
$ clint --file commit_message.txt
Your commit message is CC compliant!
$ cat commit_message.txt | clint
Your commit message is CC compliant!
$ echo "feta(scope): validate this message" | clint
type_valid: Type 'feta' is not valid.
$ clint --enable-hook
Enable hook: Hook enabled at /path/to/repo/.git/hooks/commit-msg
$ clint --disable-hook
Disable hook: Hook disabled at /path/to/repo/.git/hooks/commit-msg
Changelog
You can view the history of changes in the project changelog.
Project status
CLint
is currently in beta status, and is under active development. The goal is to achieve at least
the planned features, and then continue maintaining the code, making it compatible with future
versions of Python and the libraries used in the project.
Source
CLint
tries to be what other tools already are, like the
great commitlint. The difference
with similar tools is that those are
built over Node.js
, so they are focused on Javascript
developers. If you are not, you will be forced to
install Node.js
anyway in order to use those tools.
License
CLint
is distributed under the GPL v3 license.