repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-toml
- id: check-merge-conflict
- id: check-added-large-files
args: ['--maxkb=1024']
- id: mixed-line-ending
- repo: local
hooks:
- id: cargo-fmt
name: cargo fmt
description: Format Rust code with rustfmt
entry: cargo fmt --all --
language: system
types: [rust]
pass_filenames: false
- id: cargo-clippy
name: cargo clippy
description: Lint Rust code with clippy
entry: cargo clippy --all-targets --all-features -- -D warnings
language: system
types: [rust]
pass_filenames: false
- id: cargo-check
name: cargo check
description: Check that Rust code compiles
entry: cargo check --all-targets --all-features
language: system
types: [rust]
pass_filenames: false
- repo: local
hooks:
- id: cargo-audit
name: cargo audit
description: Audit Rust dependencies for security vulnerabilities
entry: bash
args:
- -c
- |
if command -v cargo-audit >/dev/null 2>&1; then
cargo audit
else
echo "cargo-audit not installed, skipping security check"
fi
language: system
types: [rust]
pass_filenames: false
stages: [pre-push]
ci:
autofix_commit_msg: |
[pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
autofix_prs: true
autoupdate_branch: ''
autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'
autoupdate_schedule: weekly
skip: []
submodules: false