mcpField
G
git-hooks-setup

git-hooks-setup

github.com/aj-geddesテスト・品質373447 回インストール34 週間前に更新
リポジトリ

git-hooks-setup について

コミットやプッシュの前に品質チェックと自動的な保護を適用する、Git hooks 設定向けのスキルです。一般的な hook の構成、検証、シークレット検出、チーム規約を扱います。

主な機能

  1. 01コミット前の lint とフォーマット
  2. 02コミットメッセージの検証
  3. 03コミット前のシークレット検出
  4. 04プッシュ前のテスト実行
  5. 05Husky と pre-commit の設定ガイド

活用シーン

  1. 01コミット前のフォーマット統一
  2. 02不正なコミットメッセージの拒否
  3. 03シークレットのコミット防止
  4. 04変更のプッシュ前にテストを実行

インストール

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

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill git-hooks-setup

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
commit-message-validation.md
commitlint-configuration.md
husky-installation-and-configuration.md
pre-commit-framework-python.md
pre-commit-hook-nodejs.md
secret-detection-hook.md
scripts/
scaffold-tests.sh
templates/
test-template.js

詳細

Git フックの設定

目次

概要

Git フックを設定してコード品質の基準を適用し、自動チェックを実行するとともに、問題のあるコミットが共有リポジトリにプッシュされるのを防ぎます。

使用する場面

  • コミット前のコード品質チェック
  • コミットメッセージの検証
  • コミットへのシークレット混入の防止
  • プッシュ前のテスト実行
  • コードフォーマットの適用
  • リンターの設定
  • チーム全体での基準の適用

クイックスタート

最小限の動作例:

#!/bin/bash
# setup-husky.sh

# Install Husky
npm install husky --save-dev

# Initialize Husky
npx husky install

# Create pre-commit hook
npx husky add .husky/pre-commit "npm run lint"

# Create commit-msg hook
npx husky add .husky/commit-msg 'npx --no -- commitlint --edit "$1"'

# Create pre-push hook
npx husky add .husky/pre-push "npm run test"

# Create post-merge hook
npx husky add .husky/post-merge "npm install"

リファレンスガイド

詳細な実装については、references/ ディレクトリを参照してください。

ガイド内容
Husky のインストールと設定Husky のインストールと設定
コミット前フック(Node.js)コミット前フック(Node.js)
コミットメッセージの検証コミットメッセージの検証
Commitlint の設定Commitlint の設定、プッシュ前フック(包括版)
Pre-commit フレームワーク(Python)Pre-commit フレームワーク(Python)
シークレット検出フックシークレット検出フック、package.json での Husky の設定

ベストプラクティス

✅ 推奨事項
  • コミット前のリンティングとフォーマットを適用する
  • コミットメッセージの形式を検証する
  • コミット前にシークレットをスキャンする
  • プッシュ前にテストを実行する
  • フックをスキップする場合は --no-verify を使用する(まれなケースに限る)
  • フックの要件を README に記載する
  • 一貫性のあるフック設定を使用する
  • フックを高速に保つ(5 秒未満)
  • 役立つエラーメッセージを表示する
  • 明確な警告を表示したうえで、開発者がフックを回避できるようにする
❌ 禁止事項
  • --no-verify を使ってチェックをスキップする
  • コミット対象のファイルにシークレットを保存する
  • 一貫性のない実装を使用する
  • フックのエラーを無視する
  • コミット前にテストスイート全体を実行する

コメント