{"id":33974006,"url":"https://github.com/aaronjameslang/proofr","last_synced_at":"2026-04-18T16:39:26.035Z","repository":{"id":56939078,"uuid":"77229587","full_name":"aaronjameslang/proofr","owner":"aaronjameslang","description":"Git hook to check conformance to http://chris.beams.io/posts/git-commit/","archived":false,"fork":false,"pushed_at":"2017-04-09T17:07:30.000Z","size":83,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-12-14T14:12:04.161Z","etag":null,"topics":["commit","enforce","git","hook","lint","message","standards","style"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronjameslang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-12-23T14:12:49.000Z","updated_at":"2021-03-14T22:14:34.000Z","dependencies_parsed_at":"2022-08-21T06:50:29.382Z","dependency_job_id":null,"html_url":"https://github.com/aaronjameslang/proofr","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/aaronjameslang/proofr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjameslang%2Fproofr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjameslang%2Fproofr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjameslang%2Fproofr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjameslang%2Fproofr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronjameslang","download_url":"https://codeload.github.com/aaronjameslang/proofr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronjameslang%2Fproofr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31976801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T16:27:12.723Z","status":"ssl_error","status_checked_at":"2026-04-18T16:27:11.140Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["commit","enforce","git","hook","lint","message","standards","style"],"created_at":"2025-12-13T01:37:49.826Z","updated_at":"2026-04-18T16:39:25.959Z","avatar_url":"https://github.com/aaronjameslang.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# proofr [![Build Status](https://travis-ci.org/aaronjameslang/proofr.svg?branch=master)](https://travis-ci.org/aaronjameslang/proofr)\nGit hook to check conformance to http://chris.beams.io/posts/git-commit/\n\nDo you or your collaborators have trouble remembering how to format your commit messages? Try `proofr`.\n\n`proofr` integrates seamlessly into your workflow:\n  - if you write a compliant commit message, you won't even know it's there\n  - if you write a noncompliant commit message, the commit will fail and you'll receive feedback:\n    ```\n    $: git commit --allow-empty --message 'fixed it.'\n    Capitalize the subject line\n    Do not end the subject line with a period\n    Use the imperative mood in the subject line\n    $:\n    ```\n\n## [The seven rules of a great git commit message](https://chris.beams.io/posts/git-commit/#seven-rules)\n\n 1. Separate subject from body with a blank line\n 2. Limit the subject line to 50 characters\n 3. Capitalize the subject line\n 4. Do not end the subject line with a period\n 5. Use the imperative mood in the subject line\n 6. Wrap the body at 72 characters\n 7. Use the body to explain _what_ and _why_ vs. _how_\n\n## Installation\n\n### [Homebrew](https://brew.sh/)/[Linuxbrew](http://linuxbrew.sh/)\n\n`brew install `[`aaronjameslang/tap/proofr`](https://github.com/aaronjameslang/homebrew-tap/blob/master/Formula/proofr.rb)\n\n### [Composer](https://getcomposer.org/)/[Packagist](https://packagist.org/packages/aaronjameslang/proofr)\n\n`composer [global] require `[`aaronjameslang/proofr`](https://packagist.org/packages/aaronjameslang/proofr)\n\n## Setup\n\n`cd my-project \u0026\u0026 proofr setup`\n\nThis will add `proofr` to the `commit-msg` hook of your project\n\n## How `proofr` works\n\nAfter 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\n  - Calls `proofr`\n  - Passes `proofr` it's first argument\n  - Deals with `proofr`'s exit code\n  - Is executable\n\nFor background see http://githooks.com\n\n## Compatibility\n\nShould work on most *nixes, including GNU/Linux, Mac OSX, and [Windows Subsystem for Linux](https://msdn.microsoft.com/en-gb/commandline/wsl/install_guide)\n\nIf you are unsure of compatibilty with your system, run `make`. If your system is incompatible, please open an issue.\n\n## Contribution\n\nSuggestions, bug reports and pull requests are all welcome. Please open an issue and get feedback before beginning a pull request.\n\n### Design Decisions\n\n  - 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\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjameslang%2Fproofr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronjameslang%2Fproofr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronjameslang%2Fproofr/lists"}