Enable Linting, Code Formatting, and Type Checking for Code and Docs
In an effort to continue to lower the barrier of entry for contributors and reduce overhead of manually reviewing code formatting, I propose we enable some automation in this area:
- Ruff or Black for linting and code formatting for Python code
- clang-format for code formatting for C code
- MyPy for type checking for Python code
We could add them as pre-commit hooks so they are run on each change automatically and add a lint stage to the CI to check it.
To prevent making git blame more difficult, we can squash all the changes in to one commit and add it to a .git-blame-ignore-revs
file.
Any concerns with us starting to enable this?
Edited by Dan Yeaw