# NOTE: Reason for not using `prek.toml` is dependabot supports `pre-commit` as an ecosystem # See: https://github.blog/changelog/2026-03-10-dependabot-now-supports-pre-commit-hooks/ fail_fast: false repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v6.0.0 hooks: - id: check-merge-conflict priority: 0 - repo: https://github.com/astral-sh/ruff-pre-commit rev: v0.15.11 hooks: - id: ruff-format priority: 0 - id: ruff-check args: [--select, I, --fix, --exit-non-zero-on-fix] types_or: [python] require_serial: true priority: 1 - repo: local hooks: - id: redundant-test-patches name: check redundant test patches entry: scripts/check_redundant_patches.py files: '^Lib/test/.*\.py$' language: script types: [python] priority: 0 - repo: local hooks: - id: rustfmt name: rustfmt entry: rustfmt language: system types: [rust] priority: 0 - id: generate-opcode-metadata name: generate opcode metadata entry: python scripts/generate_opcode_metadata.py files: '^(crates/compiler-core/src/bytecode/instruction\.rs|scripts/generate_opcode_metadata\.py)$' pass_filenames: false language: system require_serial: true priority: 1 # so rustfmt runs first - repo: https://github.com/streetsidesoftware/cspell-cli rev: v10.0.0 hooks: - id: cspell types: [rust] additional_dependencies: - '@cspell/dict-en_us' - '@cspell/dict-cpp' - '@cspell/dict-python' - '@cspell/dict-rust' - '@cspell/dict-win32' - '@cspell/dict-shell' priority: 0 - repo: https://github.com/rbubley/mirrors-prettier rev: v3.8.3 hooks: - id: prettier files: '^wasm/.*$' priority: 0