Skip to main content

A python program that helps you write commits following commit conventions

Project description

Commit Helper

Build Status Maintainability codebeat badge Codacy Badge

What does it do?

The commit-helper do exactly what it's name suggest: helps you create and maintain your commit policy by tailoring your commit message into a commit convention.

Why should I use this?

Keeping a commit policy may sound like an easy thing to do, but in reality we both know that it isn't.

Sometimes we, the developers, go full-loco while programming and make mistakes when commiting. That's fine, everyone makes mistakes. But, what if those mistakes could be avoided?

Screenshots

Installation

In order to install one of our older versions, check our previous releases. To install the latest (pip) version, just follow the commands below:

$ pip3 install commit-helper

Usage and configuration

This program has a cli that you can take advantage of. Running commit --help will show you the usage and options for your commit. All of them are optional for the sake of not losing your precious time.

  $ commit -h
  usage: generator.py [-h] [--co-author CO_AUTHOR] [--no-generate NO_FILE]
                    [--convention {angular,changelog,symphony,message}]

  A commit formatter tool to help you follow commit conventions.

  optional arguments:
    -h, --help            show this help message and exit
    -ca, --co-author CO_AUTHOR
                          make your friend an co-author to the commit
    -nf, --no-file
                          disables the creation of a commiter.yml file
    -c, --convention {angular,changelog,symphony,message}
                          Selects a convention to be used for the commit.
                          Required if there is no commiter.yml file.

So, if you want to write a co-authored commit, you should use:

$ commit --co-author "foo bar doritous <foobar@douritos.com>"

Or if you are using this for the first time in your project:

$ commit --convention changelog

To work even more smoothly, have in your working directory a file named commiter.yml. In this file you must pass the commit convention that you want to use, following the example:

convention: angular   # tag(context): commit message

# or

convention: karma   # tag(context): commit message

# or

convention: changelog # TAG: commit message

# or

convention: symphony  # [Tag] commit message

# and if you're feeling adventurous

convention: none      # Commit message

In case that you or your organization does already have a commit convention that is not listed above, you can configure it in the commiter.yml file as following:

convention: custom
# considering a commit message like '{add} (stuff) ~> in file foo.br'
commit_pattern: '{tag} (context) ~> message'
# tag, message and context are reserved words that will be replaced in your commit message
context: true # this is a must have field! If your pattern doesn't have one, assign false to it

Supported conventions available:

  • angular
  • karma
  • changelog
  • symphony
  • a custom one that you may invent ;)

Troubleshooting

If after you've installed commit-helper the commit or commit-helper commands are not usable at the command line, check if $HOME/.local/bin is on your PATH. If not, add it on your .bashrc file by running:

$ echo "export PATH=$HOME/.local/bin:$PATH" >> .bashrc

Project's maintainers

Name Username
André de Sousa Costa Filho @andre-filho

Our collaborators

Name Username
Arthur José Benedito de Oliveira Assis @arthur0496
Matheus Richard Torres Gomes de Melo @MatheusRich

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

commit-helper-3.2.2.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

commit_helper-3.2.2-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file commit-helper-3.2.2.tar.gz.

File metadata

  • Download URL: commit-helper-3.2.2.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.9.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for commit-helper-3.2.2.tar.gz
Algorithm Hash digest
SHA256 de57da2bd5be7b8475ec277158ce6c5fe0c639ccf5359c8d88caa6bd2dadf191
MD5 b68c26e355c3f9158fc726b7f57ea48b
BLAKE2b-256 250e5cc9c467d6b3860f2a672b6254e37483f6360a5fe4a9d3ea133952409697

See more details on using hashes here.

Provenance

File details

Details for the file commit_helper-3.2.2-py3-none-any.whl.

File metadata

  • Download URL: commit_helper-3.2.2-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.9.1 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.5.2

File hashes

Hashes for commit_helper-3.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a637e5e2523bb53c2f33b87a7f521e92e7646ac2f9d7b276d80c7ebec4c0d61f
MD5 d543758ddd3bd39e95b953193d101d48
BLAKE2b-256 4db5e5be3e63598b0c29beea434297c3f78761516ae5d8292d1e11a6f140a469

See more details on using hashes here.

Provenance

Supported by

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