mcpField
P
pre-commit-standards

pre-commit-standards

github.com/laurigatesテスト・品質5968 回インストール1 日前に更新
リポジトリ

pre-commit-standards について

リポジトリの準拠確認に使う pre-commit のフック、バージョン、規約をまとめたリファレンススキルです。既存設定の確認や他のスキルへの規則提示に使い、対話形式での導入や修復は行いません。

主な機能

  1. 01標準フックと固定バージョンの一覧
  2. 02プロジェクト種別ごとの設定
  3. 03必須フックとバージョン状態の確認
  4. 04種別に応じた除外ルール
  5. 05インストールと更新コマンドの説明

活用シーン

  1. 01.pre-commit-config.yaml の確認
  2. 02不足または古いフックの特定
  3. 03他のスキルで標準バージョンを参照
  4. 04プロジェクト種別に応じた除外設定

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/pre-commit-standardsを入力して読み込まれたか確認します。

詳細

pre-commit 標準

このスキルを使用する場面

このスキルを使用する場面...代わりに configure-pre-commit を使用する場面...
標準のフック一覧、固定バージョン、Conventional Commits の規約を確認する必要がある場合対話形式のワークフローで、プロジェクトの pre-commit フックを最初から最後まで監査またはインストールしたい場合
.pre-commit-config.yaml が文書化された標準に準拠しているか確認する場合フックセットを選択する前に、プロジェクトの種類(フロントエンド、インフラ、Python)を実行時に検出したい場合
別のスキルで標準フックのバージョンやルールセットを参照する必要がある場合ユーザーから pre-commit の設定を実際に作成または修復するよう依頼された場合

バージョン:2025.1

リポジトリの準拠性を確保するための標準 pre-commit 設定です。

標準バージョン(2025.1)

フックバージョン目的
pre-commit-hooksv6.0.0基本フック(trailing-whitespace、check-yaml など)
conventional-pre-commitv4.4.0Conventional Commits のコミットメッセージ検証
biomev2.4.16コードのフォーマットと lint(JS、TS、JSON)
gruntwork pre-commitv0.1.30helmlint、tflint(インフラのみ)
actionlintv1.7.12GitHub Actions の検証(インフラのみ)
helm-docsv1.14.2Helm ドキュメント(インフラのみ)
gitleaksv8.30.1シークレットのスキャン(推奨)

プロジェクトの種類別設定

フロントエンドアプリ(Vue/React)

フロントエンドアプリケーションに必須のフック:

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/
インフラストラクチャリポジトリ

インフラストラクチャ(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 サービス

Python プロジェクトに必須のフック:

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

準拠状況の確認

必須の基本フック(すべてのプロジェクト)

すべてのリポジトリに次のフックが必要です。

  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+)

    • commit-msg ステージの conventional-pre-commit
ステータスレベル
ステータス意味
PASS準拠バージョンのフックが存在します
WARNフックは存在しますが、バージョンが古くなっています
FAIL必須フックがありません
SKIPプロジェクトの種類に該当しないフックです
バージョンの比較

バージョンを確認する際は、次のように判定します。

  • 完全一致またはそれより新しい場合:PASS
  • パッチバージョンが古い場合:WARN(機能しますが、更新が必要です)
  • まったく存在しない場合:FAIL(追加が必要です)

除外パターン

フロントエンドアプリ

YAML/prettier のチェック対象から Kubernetes/Helm テンプレートを除外します。

exclude: ^(helm/templates/|skaffold/|k8s/).*\.ya?ml$
インフラストラクチャ

ArgoCD と Helm のテンプレートを除外します。

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

標準的な Python プロジェクトでは、特別な除外は必要ありません。

インストール

.pre-commit-config.yaml の設定後:

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

または、次のように実行します。

pre-commit install --install-hooks

更新

すべてのフックを最新バージョンに更新するには:

pre-commit autoupdate

その後、バージョンがプロジェクトの標準に一致していることを確認してください。

コメント