#!/bin/bash
# Auto-Commit Hook -- Safety checkpoint commits every N file operations.
# Trigger: PostToolUse (Write|Edit)
COUNTER_FILE="${CLAUDE_PROJECT_DIR:-.}/.session/write-counter"
COMMIT_INTERVAL=10
if [ ! -f "$COUNTER_FILE" ]; then echo "0" > "$COUNTER_FILE"; fi
COUNT=$(cat "$COUNTER_FILE" 2>/dev/null || echo "0")
COUNT=$((COUNT + 1))
echo "$COUNT" > "$COUNTER_FILE"
if [ $((COUNT % COMMIT_INTERVAL)) -eq 0 ]; then
    cd "${CLAUDE_PROJECT_DIR:-.}" || exit 0
    if ! git diff --quiet 2>/dev/null || ! git diff --cached --quiet 2>/dev/null; then
        git add -u 2>/dev/null
        if ! git diff --cached --quiet 2>/dev/null; then
            git commit -m "[checkpoint] Auto-save after $COUNT file operations" 2>/dev/null
            echo "[auto-commit] Checkpoint after $COUNT writes" >&2
        fi
    fi
fi
