repos:
-   repo: meta
    hooks:
    -   id: check-hooks-apply
    -   id: check-useless-excludes
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.1.0
    hooks:
    -   id: check-ast
        exclude: '^(pyextra)/'
    -   id: check-json
    -   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/pre-commit/mirrors-mypy
    rev: v0.931
    hooks:
    -   id: mypy
        exclude: '^(pyextra/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(opendbc/)|(laika_repo/)|(rednose_repo/)/'
        additional_dependencies: ['git+https://github.com/numpy/numpy-stubs', 'types-requests', 'types-atomicwrites',
                                  'types-pycurl']
-   repo: https://github.com/PyCQA/flake8
    rev: 4.0.1
    hooks:
    -   id: flake8
        exclude: '^(pyextra/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(opendbc/)|(laika_repo/)|(rednose_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: '^(pyextra/)|(cereal/)|(rednose/)|(panda/)|(laika/)|(laika_repo/)|(rednose_repo/)'
-   repo: local
    hooks:
    -   id: cppcheck
        name: cppcheck
        entry: cppcheck
        language: system
        types: [c++]
        exclude: '^(third_party/)|(pyextra/)|(cereal/)|(opendbc/)|(panda/)|(tools/)|(selfdrive/modeld/thneed/debug/)|(selfdrive/modeld/test/)|(selfdrive/camerad/test/)/|(installer/)'
        args:
        - --error-exitcode=1
        - --language=c++
        - --quiet
        - --force
        - -j8
