mcpField
P
pre-commit-standards

pre-commit-standards

github.com/laurigatesTesting & quality5968 installsUpdated 1d ago
Repository

About pre-commit-standards

A reference skill for pre-commit hook, version, and convention standards in repository compliance checks. It helps assess existing configurations and inform other skills, rather than interactively installing or repairing hooks.

Key features

  1. 01Lists standard hooks and pinned versions
  2. 02Defines configurations by project type
  3. 03Checks required hooks and version status
  4. 04Provides exclusions for project types
  5. 05Documents installation and update commands

Use cases

  1. 01Review a .pre-commit-config.yaml
  2. 02Find missing or outdated hooks
  3. 03Cite standard versions in another skill
  4. 04Set exclusions for a project type

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laurigates/claude-plugins --skill pre-commit-standards

After installing, type/pre-commit-standardsin Claude Code to confirm it loaded.

Details

From the project README

Pre-commit Standards

When to Use This Skill

Use this skill when...Use configure-pre-commit instead when...
You need the canonical hook list, pinned versions, and conventional-commit conventionsYou want to audit or install pre-commit hooks for a project end-to-end as an interactive workflow
You are checking whether a .pre-commit-config.yaml matches the documented standardYou want runtime detection of project type (frontend, infra, python) before choosing hook sets
Another skill needs to cite the standard hook versions or rule setThe user asked you to actually create or repair pre-commit configuration

Version: 2025.1

Standard pre-commit configuration for repository compliance.

Standard Versions (2025.1)

HookVersionPurpose
pre-commit-hooksv6.0.0Core hooks (trailing-whitespace, check-yaml, etc.)
conventional-pre-commitv4.4.0Conventional commit message validation
biomev2.4.16Code formatting and linting (JS, TS, JSON)
gruntwork pre-commitv0.1.30helmlint, tflint (infrastructure only)
actionlintv1.7.12GitHub Actions validation (infrastructure only)
helm-docsv1.14.2Helm documentation (infrastructure only)
gitleaksv8.30.1Secret scanning (recommended)

Project Type Configurations

Frontend App (Vue/React)

Required hooks for frontend applications:

default_install_hook_types:
  - pre-commit
  - commit-msg

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v6.0.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
        exclude: ^(helm/templates/|skaffold/|k8s/).*\.ya?ml$
      - id: check-json
        exclude: tsconfig\.json$
      - id: check-added-large-files
        args: ['--maxkb=1000']
      - id: check-merge-conflict
      - id: detect-private-key

  - repo: https://github.com/compilerla/conventional-pre-commit
    rev: v4.4.0
    hooks:
      - id: conventional-pre-commit
        stages: [commit-msg]

  - repo: https://github.com/biomejs/pre-commit
    rev: v2.4.16
    hooks:
      - id: biome-check
        additional_dependencies: ["@biomejs/[email protected]"]

  # Optional: If project has Helm charts
  - repo: https://github.com/gruntwork-io/pre-commit
    rev: v0.1.30
    hooks:
      - id: helmlint
        files: ^helm/
Infrastructure Repository

Required hooks for infrastructure (Terraform, Helm, ArgoCD):

default_install_hook_types:
  - pre-commit
  - commit-msg

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v6.0.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
        args: [--allow-multiple-documents]
        exclude: argocd/.*templates/|helm/[^/]+/templates/
      - id: check-json
      - id: check-merge-conflict
      - id: check-symlinks
      - id: check-toml
      - id: check-added-large-files

  - repo: https://github.com/compilerla/conventional-pre-commit
    rev: v4.4.0
    hooks:
      - id: conventional-pre-commit
        stages: [commit-msg]

  - repo: https://github.com/gruntwork-io/pre-commit
    rev: v0.1.30
    hooks:
      - id: tflint
      - id: helmlint

  - repo: https://github.com/rhysd/actionlint
    rev: v1.7.12
    hooks:
      - id: actionlint

  - repo: https://github.com/norwoodj/helm-docs
    rev: v1.14.2
    hooks:
      - id: helm-docs
        args:
          - --chart-search-root=helm

  - repo: https://github.com/gitleaks/gitleaks
    rev: v8.30.1
    hooks:
      - id: gitleaks
Python Service

Required hooks for Python projects:

default_install_hook_types:
  - pre-commit
  - commit-msg

repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v6.0.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
      - id: check-json
      - id: check-toml
      - id: check-added-large-files
      - id: check-merge-conflict
      - id: detect-private-key

  - repo: https://github.com/compilerla/conventional-pre-commit
    rev: v4.4.0
    hooks:
      - id: conventional-pre-commit
        stages: [commit-msg]

  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.15.15
    hooks:
      - id: ruff
        args: [--fix]
      - id: ruff-format

  - repo: https://github.com/gitleaks/gitleaks
    rev: v8.30.1
    hooks:
      - id: gitleaks

Compliance Checking

Required Base Hooks (All Projects)

Every repository MUST have these hooks:

  1. pre-commit-hooks (v6.0.0+)

    • trailing-whitespace
    • end-of-file-fixer
    • check-yaml
    • check-json
    • check-merge-conflict
    • check-added-large-files
  2. conventional-pre-commit (v4.4.0+)

    • conventional-pre-commit in commit-msg stage
Status Levels
StatusMeaning
PASSHook present with compliant version
WARNHook present but version outdated
FAILRequired hook missing
SKIPHook not applicable for project type
Version Comparison

When checking versions:

  • Exact match or newer: PASS
  • Older by patch version: WARN (functional but should update)
  • Missing entirely: FAIL (must add)

Exclusion Patterns

Frontend Apps

Exclude Kubernetes/Helm templates from YAML/prettier checks:

exclude: ^(helm/templates/|skaffold/|k8s/).*\.ya?ml$
Infrastructure

Exclude ArgoCD and Helm templates:

exclude: argocd/.*templates/|helm/[^/]+/templates/
Python

No special exclusions needed for standard Python projects.

Installation

After configuring .pre-commit-config.yaml:

pre-commit install
pre-commit install --hook-type commit-msg

Or simply:

pre-commit install --install-hooks

Updating

To update all hooks to latest versions:

pre-commit autoupdate

Then verify versions match project standards.

Comments

Markdown supported