#!/bin/bash # SessionStart: Hook-Scripts automatisch vom Hub aktualisieren (max 1x/Stunde) LOCK="/tmp/claude-hooks-update.lock" LOCAL_REPO="$HOME/git/claude-hooks" HOOKS_DIR="$HOME/.claude/hooks-v2" LAST_UPDATE="$HOME/.claude/hooks-v2/.last-update" # Max 1x pro Stunde updaten if [ -f "$LAST_UPDATE" ]; then LAST=$(cat "$LAST_UPDATE" 2>/dev/null || echo 0) NOW=$(date +%s) DIFF=$((NOW - LAST)) [ $DIFF -lt 3600 ] && exit 0 fi # Nicht parallel laufen [ -f "$LOCK" ] && exit 0 touch "$LOCK" trap "rm -f $LOCK" EXIT if [ -d "$LOCAL_REPO/.git" ]; then cd "$LOCAL_REPO" BEFORE=$(git rev-parse HEAD 2>/dev/null) git pull origin main -q 2>/dev/null AFTER=$(git rev-parse HEAD 2>/dev/null) if [ "$BEFORE" != "$AFTER" ]; then cp "$LOCAL_REPO/hooks-v2/"*.sh "$HOOKS_DIR/" 2>/dev/null chmod +x "$HOOKS_DIR/"*.sh echo "🔄 Claude Hooks aktualisiert von Hub" fi fi date +%s > "$LAST_UPDATE"