claude-vault/scripts/log-session.sh
2026-02-04 22:35:40 +01:00

70 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
# Automatisches Logging nach jeder Claude-Session
# Aufruf: ./log-session.sh <projekt-name> <kurzbeschreibung>
set -e
DATE=$(date +%Y-%m-%d)
TIMESTAMP=$(date +%Y-%m-%d_%H-%M-%S)
PROJECT="${1:-unknown-project}"
DESC="${2:-No description provided}"
VAULT="$HOME/Work/claude-vault"
LOG_DIR="$VAULT/memory/log"
LOG_FILE="$LOG_DIR/${DATE}_session.md"
# Erstelle Log-Directory falls nicht vorhanden
mkdir -p "$LOG_DIR"
# Erstelle Log-File mit Header falls neu
if [ ! -f "$LOG_FILE" ]; then
cat > "$LOG_FILE" <<EOF
# Session Log: ${DATE}
Auto-generiert via log-session.sh
EOF
fi
# Append zu heutigem Log (statt separate Files pro Session)
cat >> "$LOG_FILE" <<EOF
---
## Session: ${TIMESTAMP}
**Projekt:** ${PROJECT}
**Beschreibung:** ${DESC}
### Verwendete Skills
<!-- Auto-detected via git log (falls Projekt ein Git-Repo ist) -->
EOF
# Versuche Git-History zu extrahieren (falls Projekt ein Repo ist)
PROJECT_PATH="$HOME/.claude/projects/$(echo "$PROJECT" | sed 's|/|-|g')"
if [ -d "$PROJECT_PATH/.git" ]; then
git -C "$PROJECT_PATH" log --since="30 minutes ago" --pretty=format:"- %s" 2>/dev/null >> "$LOG_FILE" || echo "<!-- Keine Git-History gefunden -->" >> "$LOG_FILE"
else
echo "<!-- Projekt hat kein Git-Repository -->" >> "$LOG_FILE"
fi
cat >> "$LOG_FILE" <<EOF
### Wichtige Entscheidungen
<!-- TODO: Manuell ergänzen nach Session -->
-
### Lessons Learned
<!-- TODO: Manuell ergänzen nach Session -->
-
### Follow-up Tasks
<!-- TODO: Verknüpfe mit TaskList -->
-
EOF
echo "✅ Session geloggt: $LOG_FILE"
echo ""
echo "Tipp: Ergänze manuell 'Wichtige Entscheidungen' und 'Lessons Learned' im Log."
echo " Öffne mit: code $LOG_FILE"