This directory contains git hooks for the ftr project.
The repository is already configured to use this hooks directory. If you clone this repository, you need to run:
git config core.hooksPath .githooksRuns before each commit to ensure code quality:
- rustfmt - Checks that all Rust code is properly formatted
- clippy - Runs clippy lints to catch common mistakes and improve code quality
If either check fails, the commit will be aborted. Tests are disabled by default for speed.
Runs before pushing to ensure full compliance with Rust best practices:
- rustfmt - Code formatting check
- clippy - Linting with warnings as errors
- tests - All unit and integration tests
- documentation - Ensures docs build without errors
- cargo-audit - Security vulnerability check
- cargo-machete - Unused dependency check
- cargo-outdated - Reports outdated dependencies
- MSRV check - Verifies minimum supported Rust version
- TODO check - Reports TODO/FIXME comments in code
Run full compliance checks locally without pushing:
.githooks/check-compliance.shInteractive checklist to run before creating a release:
.githooks/release-checklist.shInstall recommended development tools:
.githooks/install-tools.sh- To fix formatting issues:
cargo fmt - To see clippy warnings:
cargo clippy - To run tests:
cargo test - To check security:
cargo audit - To check unused deps:
cargo machete - To check outdated deps:
cargo outdated