Add pre-commit as optional developer tool #1671
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds pre-commit and associated configuration. This is more or less a tool for installing git hooks that check flake8 and black before committing. When used, this helps prevent follow up commits for formatting changes with black or correcting complaints from flake8.
There is also a configuration for installing hooks for checking that the commit message conforms to conventional commits.
It is possible to use the pre-commit hooks (flake8 and black) without the commit-msg hooks (commitlint) and vice-versa. Contributors can also ignore pre-commit altogether -- this is purely opt-in and must be explicitly installed.
Pre-commit is a pretty widely used tool in the python community and is analogous to husky in the javascript community. I've had these configuration files hanging out in my local fork of the ACA-Py repo and have been happily using them for more than a year.