Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
- 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)
79 lines
2.1 KiB
Bash
Executable File
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"
|