learning_ai_common_plat/scripts/setup-husky.sh
2026-02-12 16:17:29 -08:00

41 lines
1.1 KiB
Bash
Executable File

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