70 lines
1.6 KiB
Bash
Executable File
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"
|