mcpField
G
git-hooks-setup

git-hooks-setup

github.com/aj-geddesTesting & quality373447 installsUpdated 34w ago
Repository

About git-hooks-setup

A skill for configuring Git hooks to apply code quality checks and automated safeguards before commits or pushes. It includes guidance for common hook setups, validation, secret detection, and team conventions.

Key features

  1. 01Pre-commit linting and formatting
  2. 02Commit message validation
  3. 03Secret detection before commit
  4. 04Pre-push test checks
  5. 05Husky and pre-commit setup guidance

Use cases

  1. 01Enforcing formatting before commits
  2. 02Rejecting invalid commit messages
  3. 03Preventing secrets from entering commits
  4. 04Running tests before pushing changes

Install

Copy the command and run it in a terminal.

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

After installing, type/git-hooks-setupin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

Git Hooks Setup

Table of Contents

Overview

Configure Git hooks to enforce code quality standards, run automated checks, and prevent problematic commits from being pushed to shared repositories.

When to Use

  • Pre-commit code quality checks
  • Commit message validation
  • Preventing secrets in commits
  • Running tests before push
  • Code formatting enforcement
  • Linting configuration
  • Team-wide standards enforcement

Quick Start

Minimal working example:

#!/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"

Reference Guides

Detailed implementations in the references/ directory:

GuideContents
Husky Installation and ConfigurationHusky Installation and Configuration
Pre-commit Hook (Node.js)Pre-commit Hook (Node.js)
Commit Message ValidationCommit Message Validation
Commitlint ConfigurationCommitlint Configuration, Pre-push Hook (Comprehensive)
Pre-commit Framework (Python)Pre-commit Framework (Python)
Secret Detection HookSecret Detection Hook, Husky in package.json

Best Practices

✅ DO
  • Enforce pre-commit linting and formatting
  • Validate commit message format
  • Scan for secrets before commit
  • Run tests on pre-push
  • Skip hooks only with --no-verify (rarely)
  • Document hook requirements in README
  • Use consistent hook configuration
  • Make hooks fast (< 5 seconds)
  • Provide helpful error messages
  • Allow developers to bypass with clear warnings
❌ DON'T
  • Skip checks with --no-verify
  • Store secrets in committed files
  • Use inconsistent implementations
  • Ignore hook errors
  • Run full test suite on pre-commit

Comments

Markdown supported