diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..c376e9f --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,27 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v3.2.0 + hooks: + - id: check-docstring-first + - id: check-executables-have-shebangs + - id: check-yaml + files: config.yml + - id: debug-statements + - id: end-of-file-fixer + - id: fix-encoding-pragma + - id: mixed-line-ending + args: + - "--fix=lf" + - id: trailing-whitespace + +- repo: https://github.com/psf/black + rev: 19.10b0 + hooks: + - id: black + +- repo: https://gitlab.com/pycqa/flake8 + rev: 3.8.3 + hooks: + - id: flake8 diff --git a/README.md b/README.md index ac33b00..d65889d 100644 --- a/README.md +++ b/README.md @@ -116,3 +116,16 @@ The potential reasons are sorted by probability of being the root cause. | code | potential reason | | :---: | :---| | 17 | login credential mismatch, potential api permission problem | + +### pre-commit framework +This project utilizes the [pre-commit](https://pre-commit.com/) framework to automate various small hick-ups that tend +to happen prior to committing. + +To use the framework it is necessary to follow these steps: +```bash +# install the pre-commit hook +pre-commit install + +# to test your staged files manually run +pre-commit run +``` diff --git a/requirements.txt b/requirements.txt index 0c5120d..c13a113 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,4 @@ requests>=2.21.0 packaging>=20.1 ruamel.yaml==0.16.10 ruamel.yaml.clib==0.2.0 +pre-commit==2.7.1