Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

A commit message linter

Project Description

Комитет Git’a Безопасности

Комитет Git’a Безопасности (КGБ) or Git security committee, is a commit message style enforcer. It comes in two parts, a web hook for github (lubyanka) and a local git commit-msg hook (resident). In an ideal world, a local hook should be enough, in practice, mistakes happen. The KGitB is here to ensure no mistakes are ever allowed through to infect your master branch.



Resident can be installed using pip and should not require any dependencies using:

pip install kgitb

To install in a local repository, go into it and run:

resident install --local

To set it up in another repository or multiple repository, you can path it a path to the repositor(y/ies) that you want to install it to:

resident install --path PATH_TO_REPO1 PATH_TO_REPO2

If the webhook is correctly set up, you should see a APPROVED BY THE KGitB. line when you commit something, or if there are errors, the commit will fail with a description of the errors.

Currently there are no options to select. They will be added at a later point.


Lubyanka is the headquarters of all residents. It should be run on a server and setup with github to check all pull-requests. As excpected, if there are any violations, lubyanka will submit a helpful if somewhat authoritative comment message and set the status to error. If there are no violations it will set the status to success and congragulate you on a job well done.

To run lubyanka, get a copy of the code, install the requirements and execute it with the following commands:

git clone
cd komitet-gita-bezopasnosti
pip install -r requirements.txt

If you use docker remember to set the GH_TOKEN environment variable and link to port 5000.

The github token is needed to write comments, set the pr status as well as access any private repo.


All contributions are of course welcome, please submit them as pull-requests and make sure that you are not in violation of the kgitb rules. If you need ideas: * Add rules list and documentation * resident, add –template and –global install * resident, add command line options for customizing rules * lubyanka, add origin of connection check cfr * lubyanka, add setup script * packaging, figure out how extra_requires works.

to test your changes please use tox and py.test, you should be able to install them by running:

pip install -r dev-requirements.txt

and run the tests using:


Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

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

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(21.4 kB) Copy SHA256 Hash SHA256
Source Sep 9, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting