Git hook to check conformance to http://chris.beams.io/posts/git-commit/

Installs: 32

Dependents: 0

Suggesters: 0

Security: 0

Stars: 3

Watchers: 4

Forks: 0

Open Issues: 1

Language:Shell

Type:project

2.2.0 2017-04-09 16:54 UTC

This package is not auto-updated.

Last update: 2024-03-17 00:18:53 UTC


README

Git hook to check conformance to http://chris.beams.io/posts/git-commit/

Do you or your collaborators have trouble remembering how to format your commit messages? Try proofr.

proofr integrates seamlessly into your workflow:

  • if you write a compliant commit message, you won't even know it's there
  • if you write a noncompliant commit message, the commit will fail and you'll receive feedback:
    $: git commit --allow-empty --message 'fixed it.'
    Capitalize the subject line
    Do not end the subject line with a period
    Use the imperative mood in the subject line
    $:
    

The seven rules of a great git commit message

  1. Separate subject from body with a blank line
  2. Limit the subject line to 50 characters
  3. Capitalize the subject line
  4. Do not end the subject line with a period
  5. Use the imperative mood in the subject line
  6. Wrap the body at 72 characters
  7. Use the body to explain what and why vs. how

Installation

Homebrew/Linuxbrew

brew install aaronjameslang/tap/proofr

Composer/Packagist

composer [global] require aaronjameslang/proofr

Setup

cd my-project && proofr setup

This will add proofr to the commit-msg hook of your project

How proofr works

After each commit message you write, git will call .git/hooks/commit-msg and pass in the commit message as the first parameter. You can make commit-msg anything you like so long as it

  • Calls proofr
  • Passes proofr it's first argument
  • Deals with proofr's exit code
  • Is executable

For background see http://githooks.com

Compatibility

Should work on most *nixes, including GNU/Linux, Mac OSX, and Windows Subsystem for Linux

If you are unsure of compatibilty with your system, run make. If your system is incompatible, please open an issue.

Contribution

Suggestions, bug reports and pull requests are all welcome. Please open an issue and get feedback before beginning a pull request.

Design Decisions

  • The tests were originally written using roundup, however this dependency was dropped to make it easier for users to run the tests on their machines