Files
microdao-daarion/scripts/logging/install-hooks.sh
Apple 744c149300
Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
Add automated session logging system
- Created logs/ structure (sessions, operations, incidents)
- Added session-start/log/end scripts
- Installed Git hooks for auto-logging commits/pushes
- Added shell integration for zsh
- Created CHANGELOG.md
- Documented today's session (2026-01-10)
2026-01-10 04:53:17 -08:00

79 lines
2.1 KiB
Bash
Executable File

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