git-hooks-setup について
コミットやプッシュの前に品質チェックと自動的な保護を適用する、Git hooks 設定向けのスキルです。一般的な hook の構成、検証、シークレット検出、チーム規約を扱います。
主な機能
- 01コミット前の lint とフォーマット
- 02コミットメッセージの検証
- 03コミット前のシークレット検出
- 04プッシュ前のテスト実行
- 05Husky と pre-commit の設定ガイド
活用シーン
- 01コミット前のフォーマット統一
- 02不正なコミットメッセージの拒否
- 03シークレットのコミット防止
- 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.mdcommitlint-configuration.mdhusky-installation-and-configuration.mdpre-commit-framework-python.mdpre-commit-hook-nodejs.mdsecret-detection-hook.mdscripts/scaffold-tests.shtemplates/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を使ってチェックをスキップする- コミット対象のファイルにシークレットを保存する
- 一貫性のない実装を使用する
- フックのエラーを無視する
- コミット前にテストスイート全体を実行する
コメント
Markdown 対応