#!/bin/bash # ============================================================ # install-hooks.sh — Встановлення Git hooks для автологування # ============================================================ set -e PROJECT_DIR="/Users/apple/github-projects/microdao-daarion" HOOKS_DIR="$PROJECT_DIR/.git/hooks" echo "🔧 Встановлення Git hooks..." # Post-commit hook — логує кожен коміт cat > "$HOOKS_DIR/post-commit" << 'HOOK' #!/bin/bash # Auto-log commits to session file PROJECT_DIR="/Users/apple/github-projects/microdao-daarion" SESSIONS_DIR="$PROJECT_DIR/logs/sessions" DATE=$(date +%Y-%m-%d) TIME=$(date +%H:%M) SESSION_FILE="$SESSIONS_DIR/${DATE}.md" # Отримати інформацію про коміт COMMIT_HASH=$(git rev-parse --short HEAD) COMMIT_MSG=$(git log -1 --pretty=%B | head -1) CHANGED_FILES=$(git diff-tree --no-commit-id --name-only -r HEAD | wc -l | tr -d ' ') # Створити файл якщо не існує if [ ! -f "$SESSION_FILE" ]; then mkdir -p "$SESSIONS_DIR" cat > "$SESSION_FILE" << EOF # 📅 Session Log: $DATE **Проєкт:** DAARION & MicroDAO --- ## 📋 Хронологія дій EOF fi # Додати запис про коміт echo "- **$TIME** — 📦 Commit \`$COMMIT_HASH\`: $COMMIT_MSG ($CHANGED_FILES files)" >> "$SESSION_FILE" HOOK chmod +x "$HOOKS_DIR/post-commit" echo "✅ post-commit hook встановлено" # Pre-push hook — логує push операції cat > "$HOOKS_DIR/pre-push" << 'HOOK' #!/bin/bash # Log push operations PROJECT_DIR="/Users/apple/github-projects/microdao-daarion" SESSIONS_DIR="$PROJECT_DIR/logs/sessions" DATE=$(date +%Y-%m-%d) TIME=$(date +%H:%M) SESSION_FILE="$SESSIONS_DIR/${DATE}.md" REMOTE_NAME=$1 REMOTE_URL=$2 if [ -f "$SESSION_FILE" ]; then echo "- **$TIME** — 🚀 Push to \`$REMOTE_NAME\`" >> "$SESSION_FILE" fi HOOK chmod +x "$HOOKS_DIR/pre-push" echo "✅ pre-push hook встановлено" echo "" echo "🎉 Git hooks встановлено!" echo "" echo "Тепер автоматично логуватиметься:" echo " • Кожен commit" echo " • Кожен push"