--- # Configure pre-commit to use uv for Python hooks # Pre-commit 3.6.0+ automatically detects and uses uv when available default_install_hook_types: [pre-commit, commit-msg] repos: - repo: local hooks: - id: generate-docs-format-lint name: Generate docs, format, and lint entry: bash -c 'make all' language: system pass_filenames: false types: [markdown, python, yaml] files: ^(docs/.*|README\.md|CONTRIBUTING\.md|CHANGELOG\.md|.*\.py|.*\.ya?ml)$ - repo: https://github.com/astral-sh/uv-pre-commit rev: 0.9.8 hooks: - id: uv-lock - id: uv-sync - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: requirements-txt-fixer - id: detect-private-key exclude: ^validate-inputs/validators/security\.py$ - id: destroyed-symlinks - id: trailing-whitespace args: [--markdown-linebreak-ext=md] - id: check-ast - id: check-case-conflict - id: check-merge-conflict - id: check-executables-have-shebangs - id: check-shebang-scripts-are-executable - id: check-symlinks - id: check-toml - id: check-xml - id: check-yaml args: [--allow-multiple-documents] - id: end-of-file-fixer - id: mixed-line-ending args: [--fix=auto] - id: pretty-format-json args: [--autofix, --no-sort-keys] - repo: https://github.com/DavidAnson/markdownlint-cli2 rev: v0.18.1 hooks: - id: markdownlint-cli2 args: [--fix] - repo: https://github.com/adrienverge/yamllint rev: v1.37.1 hooks: - id: yamllint - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.14.4 hooks: # Run the linter with auto-fix - id: ruff-check args: [--fix] # Run the formatter - id: ruff-format - repo: https://github.com/scop/pre-commit-shfmt rev: v3.12.0-2 hooks: - id: shfmt args: ['--apply-ignore'] exclude: '^_tests/.*\.sh$' - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.11.0.1 hooks: - id: shellcheck args: ['-x'] exclude: '^_tests/.*\.sh$' - repo: https://github.com/rhysd/actionlint rev: v1.7.8 hooks: - id: actionlint args: ['-shellcheck='] - repo: https://github.com/renovatebot/pre-commit-hooks rev: 41.159.4 hooks: - id: renovate-config-validator - repo: https://github.com/bridgecrewio/checkov.git rev: '3.2.489' hooks: - id: checkov args: - '--quiet' - repo: https://github.com/gitleaks/gitleaks rev: v8.29.0 hooks: - id: gitleaks