Skip to main content

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

Commit without generating a configuration file

Co-authored commit

Fast commit

Debugging and commiting

All-in-one commit

Help

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

Updating your current version

If you already have one of our pip releases installed in your machine and want to update to the latest version, use the command:

$ pip3 install --upgrade 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 or commit-helper.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 or commit-helper.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 or commit-helper.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 or commit-helper.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
  • atom
  • only message (no convention)
  • 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

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

Uploaded Source

Built Distribution

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

commit_helper-3.4.18-py2.py3-none-any.whl (27.2 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: commit-helper-3.4.18.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.3

File hashes

Hashes for commit-helper-3.4.18.tar.gz
Algorithm Hash digest
SHA256 437de596c264cbae4b4c5ed938e173b8584a24714b605406de61269ce3937d61
MD5 233c35f2a01ed436472b9db7f8638afc
BLAKE2b-256 64f8fcd37dae659ba742a5678adeeb1544ea59f5ffcab919a87e787ac033bf0e

See more details on using hashes here.

File details

Details for the file commit_helper-3.4.18-py2.py3-none-any.whl.

File metadata

  • Download URL: commit_helper-3.4.18-py2.py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.3

File hashes

Hashes for commit_helper-3.4.18-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9fbcba5aa0d5bf5e0629fbded1ba1efe559660dad25ff007827191187971288b
MD5 263bc53e3c46d11ca03c3e88edb69806
BLAKE2b-256 4975f3d395c4cd18d93742bb22f3e326729ae4388a21d47105988a4d600fa347

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

3.4.18 This release

2 files

3.4.16

2 files

3.4.15

2 files

3.4.13

2 files

3.4.9

2 files

3.4.8

2 files

3.4.7

2 files

3.4.6

1 file

3.4.5

2 files

3.4.4

2 files

3.3.4

2 files

3.3.3

2 files

3.3.2

2 files

3.2.2

2 files

3.1.2

2 files

3.0.2

2 files

Supported by

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