✨ Add automated session logging system
Some checks failed
Build and Deploy Docs / build-and-deploy (push) Has been cancelled
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)
This commit is contained in:
78
scripts/logging/install-hooks.sh
Executable file
78
scripts/logging/install-hooks.sh
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user