chore(.gitignore): add loop log file to ignore list
This commit is contained in:
Executable
+43
@@ -0,0 +1,43 @@
|
||||
#!/usr/bin/env sh
|
||||
# Headless loop script for overnight Claude Code automation.
|
||||
# Set CLAUDE_AUTONOMOUS=1 for Ralph Wiggum (Stop hook blocks until plan is complete).
|
||||
set -eu
|
||||
|
||||
PROJECT_DIR="${CLAUDE_PROJECT_DIR:-$(cd "$(dirname "$0")/.." && pwd)}"
|
||||
PROMPT_FILE="${PROMPT_FILE:-$PROJECT_DIR/loop/prompt.md}"
|
||||
LOG_FILE="${LOG_FILE:-$PROJECT_DIR/loop/loop.log}"
|
||||
ITERATION_COUNT="${ITERATION_COUNT:-1}"
|
||||
ITERATION_DELAY="${ITERATION_DELAY:-600}"
|
||||
CLAUDE_BIN="${CLAUDE_BIN:-claude}"
|
||||
|
||||
cd "$PROJECT_DIR"
|
||||
|
||||
echo "=== Overnight loop started $(date '+%Y-%m-%dT%H:%M:%S' 2>/dev/null || date) ===" | tee -a "$LOG_FILE"
|
||||
echo " PROMPT_FILE=$PROMPT_FILE" | tee -a "$LOG_FILE"
|
||||
echo " CLAUDE_AUTONOMOUS=${CLAUDE_AUTONOMOUS:-0}" | tee -a "$LOG_FILE"
|
||||
echo " ITERATION_COUNT=$ITERATION_COUNT" | tee -a "$LOG_FILE"
|
||||
echo "" | tee -a "$LOG_FILE"
|
||||
|
||||
i=1
|
||||
while [ "$i" -le "$ITERATION_COUNT" ]; do
|
||||
echo "--- Iteration $i/$ITERATION_COUNT @ $(date '+%Y-%m-%dT%H:%M:%S' 2>/dev/null || date) ---" | tee -a "$LOG_FILE"
|
||||
export CLAUDE_PROJECT_DIR="$PROJECT_DIR"
|
||||
export CLAUDE_AUTONOMOUS="${CLAUDE_AUTONOMOUS:-1}"
|
||||
|
||||
# Run Claude with autonomous permissions; prompt from file
|
||||
if [ -f "$PROMPT_FILE" ]; then
|
||||
"$CLAUDE_BIN" -p --dangerously-skip-permissions --output-format=stream-json \
|
||||
< "$PROMPT_FILE" 2>&1 | tee -a "$LOG_FILE" || true
|
||||
else
|
||||
echo "Error: $PROMPT_FILE not found" | tee -a "$LOG_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
i=$((i + 1))
|
||||
if [ "$i" -le "$ITERATION_COUNT" ] && [ "$ITERATION_DELAY" -gt 0 ]; then
|
||||
echo "Waiting ${ITERATION_DELAY}s before next iteration..." | tee -a "$LOG_FILE"
|
||||
sleep "$ITERATION_DELAY"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "=== Loop complete $(date '+%Y-%m-%dT%H:%M:%S' 2>/dev/null || date) ===" | tee -a "$LOG_FILE"
|
||||
Reference in New Issue
Block a user