repos: - repo: local hooks: # ─────────────── PRE-COMMIT (fast checks) ─────────────── - id: fmt name: rustfmt entry: cargo fmt -- --check language: system types: [rust] pass_filenames: false stages: [pre-commit] - id: clippy name: clippy entry: bash -c 'SQLX_OFFLINE=true cargo clippy -- -D warnings' language: system types: [rust] pass_filenames: false stages: [pre-commit] # ─────────────── PRE-PUSH (heavy checks) ─────────────── - id: sqlx-prepare-check name: sqlx prepare check entry: cargo sqlx prepare --check language: system pass_filenames: false stages: [pre-push] - id: test name: cargo test entry: bash -c 'SQLX_OFFLINE=true cargo test --all' language: system pass_filenames: false stages: [pre-push] - id: build name: cargo build release entry: bash -c 'SQLX_OFFLINE=true cargo build --release' language: system pass_filenames: false stages: [pre-push] - id: audit name: cargo audit entry: bash -c 'cargo audit || echo "cargo audit failed (non-blocking)"' language: system pass_filenames: false stages: [pre-push]