repos :
- repo : meta
hooks :
- id : check-hooks-apply
- id : check-useless-excludes
- repo : https://github.com/pre-commit/pre-commit-hooks
rev : v4.4.0
hooks :
- id : check-ast
exclude : '^(third_party)/'
- id : check-json
- id : check-toml
- id : check-xml
- id : check-yaml
- id : check-merge-conflict
- id : check-symlinks
- id : check-added-large-files
args : [ '--maxkb=100' ]
- repo : https://github.com/codespell-project/codespell
rev : v2.2.5
hooks :
- id : codespell
exclude : '^(third_party/)|(body/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(opendbc/)|(laika_repo/)|(rednose_repo/)|(selfdrive/ui/translations/.*.ts)|(poetry.lock)'
args :
# if you've got a short variable name that's getting flagged, add it here
- -L bu,ro,te,ue,alo,hda,ois,nam,nams,ned,som,parm,setts,inout,warmup
- --builtins clear,rare,informal,usage,code,names,en-GB_to_en-US
- repo : local
hooks :
- id : mypy
name : mypy
entry : mypy
language : system
types : [ python]
exclude : '^(third_party/)|(cereal/)|(opendbc/)|(panda/)|(laika/)|(laika_repo/)|(rednose/)|(rednose_repo/)|(tinygrad/)|(tinygrad_repo/)|(xx/)'
- repo : https://github.com/PyCQA/flake8
rev : 6.0 .0
hooks :
- id : flake8
exclude : '^(third_party/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(opendbc/)|(laika_repo/)|(rednose_repo/)|(tinygrad/)|(tinygrad_repo/)|(selfdrive/debug/)/'
additional_dependencies : [ 'flake8-no-implicit-concat' ]
args :
- --indent-size=2
- --enable-extensions=NIC
- --select=F,E112,E113,E304,E502,E701,E702,E703,E71,E72,E731,W191,W6
- --statistics
- -j4
- repo : local
hooks :
- id : pylint
name : pylint
entry : pylint
language : system
types : [ python]
exclude : '^(third_party/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(laika_repo/)|(rednose_repo/)|(tinygrad/)|(tinygrad_repo/)'
args :
- -j0
- -rn
- -sn
- --rcfile=.pylintrc
- repo : local
hooks :
- id : cppcheck
name : cppcheck
entry : cppcheck
language : system
types : [ c++]
exclude : '^(third_party/)|(cereal/)|(body/)|(rednose/)|(rednose_repo/)|(opendbc/)|(panda/)|(tools/)|(selfdrive/modeld/thneed/debug/)|(selfdrive/modeld/test/)|(selfdrive/camerad/test/)|(installer/)'
args :
- --error-exitcode=1
- --language=c++
- --quiet
- --force
- -j8
- repo : local
hooks :
- id : test_translations
name : test translations
entry : selfdrive/ui/tests/test_translations.py
language : script
pass_filenames : false
- repo : https://github.com/python-poetry/poetry
rev : '1.5.0'
hooks :
- id : poetry-check
- id : poetry-lock
name : validate poetry lock
args :
- --check