--- default_language_version: # force all unspecified python hooks to run python3 python: python3 repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.0.1 hooks: - id: check-case-conflict - id: check-executables-have-shebangs - id: check-json - id: check-merge-conflict - id: check-toml - id: check-xml - id: debug-statements - id: detect-aws-credentials args: - --allow-missing-credentials - id: detect-private-key - id: end-of-file-fixer exclude: files/(issue|motd) - id: mixed-line-ending args: - --fix=lf - id: pretty-format-json args: - --autofix - id: requirements-txt-fixer - id: trailing-whitespace # Text file hooks - repo: https://github.com/igorshubovych/markdownlint-cli rev: v0.29.0 hooks: - id: markdownlint args: - --config=.mdl_config.yaml - repo: https://github.com/pre-commit/mirrors-prettier rev: v2.4.1 hooks: - id: prettier - repo: https://github.com/adrienverge/yamllint rev: v1.26.3 hooks: - id: yamllint args: - --strict # pre-commit hooks - repo: https://github.com/pre-commit/pre-commit rev: v2.15.0 hooks: - id: validate_manifest # Shell script hooks - repo: https://github.com/cisagov/pre-commit-shfmt rev: v0.0.2 hooks: - id: shfmt args: # Indent by two spaces - -i - '2' # Binary operators may start a line - -bn # Switch cases are indented - -ci # Redirect operators are followed by a space - -sr - repo: https://github.com/detailyang/pre-commit-shell rev: 1.0.5 hooks: - id: shell-lint # Python hooks - repo: https://github.com/PyCQA/bandit rev: 1.7.0 hooks: - id: bandit args: - --config=.bandit.yml - repo: https://github.com/psf/black rev: 21.9b0 hooks: - id: black - repo: https://gitlab.com/pycqa/flake8 rev: 3.9.2 hooks: - id: flake8 additional_dependencies: - flake8-docstrings - repo: https://github.com/PyCQA/isort rev: 5.9.3 hooks: - id: isort - repo: https://github.com/pre-commit/mirrors-mypy rev: v0.910-1 hooks: - id: mypy - repo: https://github.com/asottile/pyupgrade rev: v2.29.0 hooks: - id: pyupgrade # Ansible hooks - repo: https://github.com/ansible-community/ansible-lint # This is intentionally being held back because of issues in v5 per # https://github.com/cisagov/skeleton-ansible-role/issues/69 rev: v4.3.7 hooks: - id: ansible-lint # files: molecule/default/playbook.yml # Terraform hooks - repo: https://github.com/antonbabenko/pre-commit-terraform rev: v1.52.0 hooks: - id: terraform_fmt - id: terraform_validate # Docker hooks - repo: https://github.com/IamTheFij/docker-pre-commit rev: v2.0.1 hooks: - id: docker-compose-check # Packer hooks - repo: https://github.com/cisagov/pre-commit-packer rev: v0.0.2 hooks: - id: packer_validate - id: packer_fmt