default_install_hook_types:
- pre-commit
- commit-msg
default_stages:
- pre-commit
exclude: ^target/|\.gitmind/
repos:
- repo: https://github.com/Goldziher/gitfluff
rev: v0.8.0
hooks:
- id: gitfluff-lint
args:
- --write
stages:
- commit-msg
- repo: https://github.com/kreuzberg-dev/pre-commit-hooks
rev: v2.1.10
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-merge-conflict
- id: check-added-large-files
- id: detect-private-key
- id: check-case-conflict
- id: check-executables-have-shebangs
- id: check-shebang-scripts-are-executable
- id: mixed-line-ending
- id: typos
args:
- --force-exclude
- id: check-json
- id: check-yaml
- id: check-toml
- id: shfmt
args:
- -w
- -i
- "2"
- id: shellcheck
- id: rumdl-fmt
- id: markdownlint-rumdl-strict
exclude: ^\.ai-rulez/
- id: cargo-fmt
args:
- --all
- id: cargo-clippy
args:
- --fix
- --allow-dirty
- --allow-staged
- --all-targets
- --
- -D
- warnings
- id: cargo-sort
- id: cargo-machete
- id: cargo-deny
args:
- check
- id: rustdoc-lint
- id: rust-max-lines
args:
- --max=1000
- id: oxfmt