repos:
- repo: local
hooks:
- id: documentation
name: documentation structure and links
entry: python tools/docs/check_docs.py --self-test-and-check
language: python
pass_filenames: false
always_run: true
- 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 --self-test --check skills/relay-knowledge-cli/SKILL.md "$version"'
language: system
pass_filenames: false
files: ^(Cargo\.toml|skills/relay-knowledge-cli/|tools/release/(update_skill_metadata_version|skill_schema_contracts)\.py)$