configure-pre-commit

安装量: 50
排名: #14757

安装

npx skills add https://github.com/laurigates/claude-plugins --skill configure-pre-commit
/configure:pre-commit
Check and configure pre-commit hooks against project standards.
When to Use This Skill
Use this skill when...
Use another approach when...
Setting up or validating pre-commit hooks
Project doesn't use pre-commit framework (use git hooks directly)
Checking compliance with project standards
Just running hooks manually (use
pre-commit run
command)
Installing project-type-specific hooks
Hooks are already properly configured
Migrating to pre-commit framework
Simple project with no quality checks needed
Updating hook configurations for detected tools
Need to disable pre-commit entirely
Context
Pre-commit config: !
find . -maxdepth 1 -name \'.pre-commit-config.yaml\'
Project standards: !
find . -maxdepth 1 -name \'.project-standards.yaml\'
Project type in standards: !
grep -m1 "^project_type:" .project-standards.yaml
Has terraform: !
find . -maxdepth 2 ( -name '*.tf' -o -type d -name 'terraform' ) -print -quit
Has helm: !
find . -maxdepth 2 -type d -name 'helm' -print -quit
Has package.json: !
find . -maxdepth 1 -name \'package.json\'
Has pyproject.toml: !
find . -maxdepth 1 -name \'pyproject.toml\'
Parameters
Parse from
$ARGUMENTS
:
--check-only
Report status without offering fixes
--fix
Apply all fixes automatically without prompting
--type
Override project type detection (
frontend
,
infrastructure
,
python
)
Execution
Execute this pre-commit compliance check:
Step 1: Detect project type
Read
.project-standards.yaml
for
project_type
field if it exists
If not found, auto-detect:
infrastructure
Has
terraform/
,
helm/
,
argocd/
, or
*.tf
files
frontend
Has
package.json
with vue/react dependencies
python
Has
pyproject.toml
or
requirements.txt
Apply
--type
flag override if provided
Step 2: Check configuration file
If
.pre-commit-config.yaml
is missing: report FAIL, offer to create from template
If it exists: read and parse the configuration
Step 3: Verify hook versions against latest releases
CRITICAL
Before flagging outdated hooks, verify latest releases using WebSearch or WebFetch:
pre-commit-hooks
:
GitHub releases
conventional-pre-commit
:
GitHub releases
biome
:
GitHub releases
ruff-pre-commit
:
GitHub releases
gitleaks
:
GitHub releases
Step 4: Analyze compliance
Compare existing configuration against project standards (from
pre-commit-standards
skill):
Required Base Hooks (All Projects):
pre-commit-hooks
v5.0.0+ with: trailing-whitespace, end-of-file-fixer, check-yaml, check-json, check-merge-conflict, check-added-large-files
conventional-pre-commit
v4.3.0+ with commit-msg stage
Frontend-specific:
biome
(pre-commit) v0.4.0+
helmlint
(if helm/ directory exists)
Infrastructure-specific:
tflint
,
helmlint
(gruntwork v0.1.29+)
actionlint
v1.7.7+
helm-docs
v1.14.2+
gitleaks
v8.22.1+
Python-specific:
ruff-pre-commit
v0.8.4+ (ruff, ruff-format)
gitleaks
v8.22.1+
Step 5: Generate compliance report
Print a report in this format:
Pre-commit Compliance Report
================================
Project Type: [type] ([detected|override])
Config File: .pre-commit-config.yaml ([found|missing])
Hook Status:
[hook-name] [version] [PASS|WARN|FAIL] ([details])
Outdated Hooks:
- [hook]: [current] -> [standard]
Overall: [N] issues found
Step 6: Apply fixes (if requested)
If
--fix
flag is set or user confirms:
Missing config file
Create from standard template for detected project type
Missing hooks
Add required hooks with standard versions
Outdated versions
Update
rev:
values to standard versions
Missing hook types
Add
default_install_hook_types
with
pre-commit
and
commit-msg
After modification, run
pre-commit install --install-hooks
to install hooks.
Step 7: Update standards tracking
Update or create
.project-standards.yaml
:
standards_version
:
"2025.1"
project_type
:
"[detected]"
last_configured
:
"[timestamp]"
components
:
pre-commit
:
"2025.1"
Agentic Optimizations
Context
Command
Check if pre-commit installed
command -v pre-commit >/dev/null 2>&1 && echo "installed" || echo "missing"
Validate config syntax
pre-commit validate-config .pre-commit-config.yaml 2>&1
List configured hooks
grep -E '^\s+- id:' .pre-commit-config.yaml 2>/dev/null | sed 's/.id:[[:space:]]//'
Check hook versions
pre-commit autoupdate --freeze 2>&1
Quick compliance check
/configure:pre-commit --check-only
Auto-fix configuration
/configure:pre-commit --fix
Flags
Flag
Description
--check-only
Report status without offering fixes
--fix
Apply all fixes automatically without prompting
--type
Override project type detection (frontend, infrastructure, python)
Error Handling
No git repository
Warn but continue (pre-commit still useful)
Invalid YAML
Report parse error, offer to replace with template
Unknown hook repos
Skip (do not remove custom hooks)
Permission errors
Report and suggest manual fix See Also /configure:all - Run all compliance checks /configure:status - Quick compliance overview pre-commit-standards skill - Standard definitions
返回排行榜