Skip to main content

Conventional Commits Linter

Project description

English - Español

CLint: Conventional commits linter

Code style: black

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clint-cli-0.5.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

clint_cli-0.5.0-py3-none-any.whl (25.3 kB view details)

Uploaded Python 3

File details

Details for the file clint-cli-0.5.0.tar.gz.

File metadata

  • Download URL: clint-cli-0.5.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.5 Linux/5.13.0-1031-azure

File hashes

Hashes for clint-cli-0.5.0.tar.gz
Algorithm Hash digest
SHA256 41fbdd91f122815580ded61f6eaed8caca2ccf27fedfe0b981085598682c55e8
MD5 9adcde4fd2811269bd00ae3738e5699e
BLAKE2b-256 a66993ccb3ce5b1641f7596f3558dd998c9c55b43f08e11155d9ba7ca06379c6

See more details on using hashes here.

File details

Details for the file clint_cli-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: clint_cli-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 25.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.14 CPython/3.10.5 Linux/5.13.0-1031-azure

File hashes

Hashes for clint_cli-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 dd09da47b70bb774e0d92d75d140376b3bd6ff7af55907ce270a79e3da549c28
MD5 fc8bfa0a173cac2a90706cd244b06337
BLAKE2b-256 a9c55cbea1de9e36f62d1bbaf4ca3cde5c62c1ced9bf8fc11de25fea1a10961e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page