We leverage a variety of static code analysis tools as a means of checking and enforcing some consistency in our code base.
We use pymarkdown
to lint our markdown files.
pymarkdown scan *.md
We enforce a maximum line width of 79 characters using the .pymarkdown.yml configuration file.
We use yamllint
to lint our yaml files.
yamllint .github/workflows/*.yml .*.yml
We enforce a maximum line width of 79 characters using the .yamllint.yml configuration file.
We use hadolint
to lint our Dockerfiles.
hadolint --ignore DL3008 --ignore SC2046 Dockerfile
hadolint
does not allow to enforce a maximum line width, but we try to keep it at 79 for consistency
We use flake8
to lint our python files.
flake8 src/*.py
The maximum line width is 79 characters by default.
We use mypy
to dynamic typing and static typing.
mypy --strict src/*.py