Files
delphi-database/scripts/install-git-hooks.sh
2025-08-08 15:55:15 -05:00

47 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Install Git hooks for Delphi Consulting Group Database System
set -e
echo "🔧 Installing Git hooks for enhanced security..."
# Check if we're in a git repository
if [ ! -d ".git" ]; then
echo "❌ Error: Not in a Git repository root directory"
echo " Please run this script from the project root where .git directory exists"
exit 1
fi
# Create hooks directory if it doesn't exist
mkdir -p .git/hooks
# Install pre-commit hook
if [ -f ".git/hooks/pre-commit" ]; then
echo "⚠️ Pre-commit hook already exists. Creating backup..."
mv .git/hooks/pre-commit .git/hooks/pre-commit.backup
fi
# Create symlink to our pre-commit hook
ln -sf ../../scripts/git-pre-commit-hook .git/hooks/pre-commit
# Make sure it's executable
chmod +x .git/hooks/pre-commit
echo "✅ Pre-commit hook installed successfully!"
echo ""
echo "🛡️ Security features enabled:"
echo " • Prevents committing .env files"
echo " • Blocks database files and backups"
echo " • Detects SSL certificates and keys"
echo " • Warns about potential secrets in code"
echo " • Checks for large files (potential data dumps)"
echo ""
echo "💡 The hook will run automatically before each commit."
echo " To bypass (NOT recommended): git commit --no-verify"
echo ""
echo "🧪 Test the hook:"
echo " 1. Try staging a .env file: touch .env && git add .env"
echo " 2. Run: git commit -m 'test'"
echo " 3. The commit should be blocked with a security warning"
echo ""
echo "✨ Your repository is now protected against accidental secret commits!"