repos: - repo: https://github.com/gitleaks/gitleaks rev: v8.24.2 hooks: - id: gitleaks name: "馃敀 security 路 Detect hardcoded secrets" - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.14.10 hooks: - id: ruff-format name: "馃悕 python 路 Formatter with Ruff" types_or: [ python, pyi ] args: [ --config, './pyproject.toml' ] - id: ruff-check name: "馃悕 python 路 Linter with Ruff" types_or: [ python, pyi ] args: [ --fix, --exit-non-zero-on-fix, --config, './pyproject.toml' ] # - repo: https://github.com/RobertCraigie/pyright-python # rev: v1.1.391 # hooks: # - id: pyright # name: "馃悕 python 路 Check types" # - repo: https://github.com/biomejs/pre-commit # rev: "v2.3.7" # hooks: # - id: biome-check # name: "馃煥 javascript 路 Lint, format, and safe fixes with Biome" - repo: https://github.com/python-jsonschema/check-jsonschema rev: 0.35.0 hooks: - id: check-github-workflows name: "馃悪 github-actions 路 Validate gh workflow files" args: ["--verbose"] - repo: https://github.com/shellcheck-py/shellcheck-py rev: v0.11.0.1 hooks: - id: shellcheck name: "馃悮 shell 路 Lint shell scripts" - repo: https://github.com/openstack/bashate rev: 2.1.1 hooks: - id: bashate name: "馃悮 shell 路 Check shell script code style" entry: bashate --error . --ignore=E006 # - repo: https://github.com/mrtazz/checkmake.git # rev: 0.2.2 # hooks: # - id: checkmake # name: "馃惍 Makefile 路 Lint Makefile" - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: check-executables-have-shebangs name: "馃搧 filesystem/鈿欙笍 exec 路 Verify shebang presence" - id: check-shebang-scripts-are-executable name: "馃搧 filesystem/鈿欙笍 exec 路 Verify script permissions" - id: check-case-conflict name: "馃搧 filesystem/馃摑 names 路 Check case sensitivity" - id: destroyed-symlinks name: "馃搧 filesystem/馃敆 symlink 路 Detect broken symlinks" - id: check-merge-conflict name: "馃尦 git 路 Detect conflict markers" - id: forbid-new-submodules name: "馃尦 git 路 Prevent submodule creation" - id: no-commit-to-branch name: "馃尦 git 路 Protect main branches" args: ["--branch", "main", "--branch", "master"] - id: check-added-large-files name: "馃尦 git 路 Block large file commits" args: ['--maxkb=5000'] - id: check-ast name: "馃悕 python/馃攳 quality 路 Validate Python AST" - id: check-docstring-first name: "馃悕 python/馃摑 style 路 Enforce docstring at top" - id: check-json name: "馃搫 formats/json 路 Validate JSON files" - id: check-shebang-scripts-are-executable name: "馃搧 filesystem/鈿欙笍 exec 路 Ensure scripts are executable" - id: check-toml name: "馃搫 formats/toml 路 Validate TOML files" - id: check-yaml name: "馃搫 formats/yaml 路 Validate YAML syntax" - id: debug-statements name: "馃悕 python/馃 debug 路 Detect debug statements" - id: detect-private-key name: "馃攼 security 路 Detect private keys" - id: mixed-line-ending name: "馃搫 text/鈫╋笍 newline 路 Normalize line endings" - id: requirements-txt-fixer name: "馃悕 python/馃摝 deps 路 Sort requirements.txt" - repo: local hooks: - id: find-duplicate-lines name: "鉂楋笍local script 路 Find duplicate lines at the end of file" entry: bash tests-data/tools/find-duplicate-lines.sh language: system types: [python] pass_filenames: false