repos:
- repo: local
hooks:
- id: cargo-fmt
name: cargo fmt
entry: cargo fmt --all
language: system
pass_filenames: false
files: ^(Cargo\.toml|Cargo\.lock|rust-toolchain\.toml|src/|tests/)
- id: cargo-clippy
name: cargo clippy
entry: cargo clippy --all-targets --all-features -- -D warnings
language: system
pass_filenames: false
files: ^(Cargo\.toml|Cargo\.lock|rust-toolchain\.toml|src/|tests/)
- id: cargo-test
name: cargo test
entry: cargo test --all-targets --all-features
language: system
pass_filenames: false
files: ^(Cargo\.toml|Cargo\.lock|rust-toolchain\.toml|src/|tests/)
- id: skill-metadata
name: skill metadata
entry: sh -c 'version="$(cargo metadata --no-deps --format-version 1 | python3 -c "import json,sys; print(json.load(sys.stdin)[\"packages\"][0][\"version\"])")"; python3 tools/release/update_skill_metadata_version.py --check skills/relay-knowledge-cli/SKILL.md "$version"'
language: system
pass_filenames: false
files: ^(Cargo\.toml|skills/relay-knowledge-cli/SKILL\.md|tools/release/update_skill_metadata_version\.py)$