fail_fast: true
repos:
- repo: local
hooks:
- id: rust-format
name: Rust format
description: Run Rust formatting with rustfmt
entry: make format
language: system
types: [file, rust]
stages: [pre-commit]
- id: rust-lint
name: Rust lint check
description: Run Rust linting with clippy
entry: make lint
language: system
types: [file, rust]
stages: [pre-commit]
- id: rust-check
name: Rust build check
description: Run Rust build checks with cargo
entry: make check-build
language: system
types: [file, rust]
stages: [pre-commit]
- id: schema-contract
name: Schema contract check
description: Validate canonical schema freshness and URL contract
entry: make check-schema
language: system
pass_filenames: false
stages: [pre-commit]
- id: rust-test
name: Rust testing
description: Run cargo tests
entry: make test
language: system
pass_filenames: false
stages: [pre-commit]
- id: bench-e2e-test
name: Benchmark E2E harness testing
description: Run bench/e2e harness unit tests
entry: make test-bench-e2e
language: system
pass_filenames: false
stages: [pre-commit]
- id: bench-e2e-smoke-commit
name: Benchmark E2E pre-commit smoke
description: Run lightweight bench/e2e run+compare smoke catalog
entry: make bench-e2e-smoke-commit
language: system
pass_filenames: false
stages: [pre-commit]
- id: git-commit-style
name: Commit style check
description: Run commitizen to validate commit message
stages: [commit-msg]
entry: make check-commit
pass_filenames: false
language: system