π¦ ClawHub
Pre Commit Config Validator
by @charlie-morrison
Validate .pre-commit-config.yaml files for structure, repository entries, hook definitions, local hooks, and best practices. 23 rules across 5 categories.
TERMINAL
clawhub install pre-commit-config-validatorπ About This Skill
name: pre-commit-config-validator description: Validate .pre-commit-config.yaml files for structure, repository entries, hook definitions, local hooks, and best practices. 23 rules across 5 categories.
Pre-Commit Config Validator
Validate .pre-commit-config.yaml files for correctness, completeness, and best practices.
Commands
# Full validation (all rules)
python3 scripts/precommit_validator.py validate .pre-commit-config.yamlRepository/rev validation only
python3 scripts/precommit_validator.py repos .pre-commit-config.yamlHook definitions only
python3 scripts/precommit_validator.py hooks .pre-commit-config.yamlBest practices only
python3 scripts/precommit_validator.py lint .pre-commit-config.yamlJSON output
python3 scripts/precommit_validator.py validate .pre-commit-config.yaml --format jsonSummary only
python3 scripts/precommit_validator.py validate .pre-commit-config.yaml --format summaryTreat warnings as errors
python3 scripts/precommit_validator.py validate .pre-commit-config.yaml --strictMultiple files
python3 scripts/precommit_validator.py validate file1.yaml file2.yaml
Rules (23)
Structure (5)
reposrepos is not a listrepos list (warning)Repository Entries (6)
repo key in entryrev for non-local/non-meta reposhooks listhooks list (warning)rev using a branch name instead of tag/SHA (warning: main, master, develop, dev, trunk, HEAD)rev without pinning (warning: no semver pattern or SHA)Hook Definitions (6)
id in hookstages values (known: commit, merge-commit, push, prepare-commit-msg, commit-msg, post-checkout, post-commit, post-merge, post-rewrite, manual, pre-push, pre-rebase, pre-merge-commit)args is not a listadditional_dependencies is not a listLocal Hooks (3)
entry (required for repo: local)languagelanguage value (warning; known: python, node, ruby, rust, golang, docker, docker_image, dotnet, lua, perl, r, swift, system, pygrep, script, fail)Best Practices (3)
fail_fast: true may hide issues (info)