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

Initial commit

Normal commit

Co-authored commit

Fast commit

Debugging and commiting

All-in-one commit

Getting help for writing in a convention

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: commit [-h] [-t TAG] [-m MESSAGE] [-ct CONTEXT] [-ca CO_AUTHOR] [-nf]
              [-c {angular,karma,tagged,symphony,message}] [-d]

A commit formatter tool to help you follow commit conventions.

optional arguments:
  -h, --help            show this help message and exit
  -t TAG, --tag TAG     Pass your commit tag directly
  -m MESSAGE, --message MESSAGE
                        Pass your commit message directly
  -ct CONTEXT, --context CONTEXT
                        Pass your commit context directly
  -ca CO_AUTHOR, --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 {angular,karma,tagged,symphony,message}, --convention {angular,karma,tagged,symphony,message}
                        Selects a convention to be used for the commit.
                        Required if there's no commiter.yml file.
  -d, --debug           Toggles debug option

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 tagged

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: tagged # 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
  • tagged
  • symphony
  • a custom one that you may create :)

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.4.4.tar.gz (11.8 kB view details)

Uploaded Source

Built Distribution

commit_helper-3.4.4-py3-none-any.whl (26.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: commit-helper-3.4.4.tar.gz
  • Upload date:
  • Size: 11.8 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.4.4.tar.gz
Algorithm Hash digest
SHA256 cdb9ec1f59f1d671a513bcb794d35b5ea98d5317e6b0a0f65f22caa82b203eb8
MD5 985aa98fef678eabb9b5cea9f1487e7e
BLAKE2b-256 13678d228f4d35cdeb0158bce19b408a8d6dc52ea68f44969e82a3e2131664a8

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: commit_helper-3.4.4-py3-none-any.whl
  • Upload date:
  • Size: 26.9 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.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ea9d916ecfb8ee21d1bdf2d2bb558c612a5cb52e3346c6ca7305b81aaa68c1e7
MD5 95c8c135b18613e508b4afcc4a94dc7f
BLAKE2b-256 297b8a1159494f2fc4c4cd1c1139fdf2da5961f00d6b2aca93b3b1091e651808

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