#!/bin/bash # Husky Setup Script for Common Platform # Sets up pre-commit hooks with HUSKY_ENABLED flag support set -e echo "🐶 Setting up Husky git hooks for common platform..." # Create .husky directory if it doesn't exist mkdir -p .husky # Create pre-commit hook with HUSKY_ENABLED flag cat > .husky/pre-commit << 'EOF' #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh" # Check if Husky is disabled via environment variable if [ "$HUSKY_ENABLED" = "false" ]; then echo "⚠️ Husky disabled via HUSKY_ENABLED=false" echo "💡 To re-enable: unset HUSKY_ENABLED or export HUSKY_ENABLED=true" exit 0 fi echo "🐶 Running pre-commit hooks for common platform..." # Run lint-staged on staged files npx lint-staged EOF # Make the hook executable chmod +x .husky/pre-commit echo "✅ Pre-commit hook created successfully!" echo "" echo "📖 Usage:" echo " Normal commit: git commit -m 'feat: add feature'" echo " Disable hooks: export HUSKY_ENABLED=false" echo " Enable hooks: export HUSKY_ENABLED=true" echo " One-time bypass: git commit --no-verify"