In order to ensure that invocation of tools (pytest, black, etc,) is consistent across contexts (command line, commit hook, github actions), all invocations should go through make targets. The tools should not be invoked directly. In some cases, this will lead to trivial pass through (e.g., make black might merely invoke black) but it will also ensure consistency if later add flags to black invocation or create meta targets like make cqa.
https://pre-commit.com/ https://github.com/pre-commit/pre-commit-hooks https://verdantfox.com/blog/view/how-to-use-git-pre-commit-hooks-the-hard-way-and-the-easy-way
In order to ensure that invocation of tools (pytest, black, etc,) is consistent across contexts (command line, commit hook, github actions), all invocations should go through make targets. The tools should not be invoked directly. In some cases, this will lead to trivial pass through (e.g.,
make black
might merely invokeblack
) but it will also ensure consistency if later add flags to black invocation or create meta targets likemake cqa
.