Conventional Commits Linter
Project description
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.
# Install with pip
$ pip install clint-cli
# Install with poetry
$ poetry add clint-cli
# Install with pipenv
$ 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
# Validate a sample message
$ clint "feat(scope): validate this message"
Your commit message is CC compliant!
# Validate from file
$ echo "feat(scope): validate this message" > commit_message.txt
$ clint --file commit_message.txt
Your commit message is CC compliant!
# Validate through pipes
$ cat commit_message.txt | clint
Your commit message is CC compliant!
# Validation error for invalid type (typo)
$ echo "feta(scope): validate this message" | clint
type_valid: Type 'feta' is not valid.
# Enable git hook on /path/to/repo
$ clint --enable-hook
Enable hook: Hook enabled at /path/to/repo/.git/hooks/commit-msg
# Disable git hook on /path/to/repo
$ 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for clint_cli-0.5.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd09da47b70bb774e0d92d75d140376b3bd6ff7af55907ce270a79e3da549c28 |
|
MD5 | fc8bfa0a173cac2a90706cd244b06337 |
|
BLAKE2b-256 | a9c55cbea1de9e36f62d1bbaf4ca3cde5c62c1ced9bf8fc11de25fea1a10961e |