← back to 4square Agentabrams

.yolo-loop.sh

32 lines

#!/usr/bin/env zsh
# Mac2-local YOLO loop for 4square-agentabrams.
# Loops claude --print against .yolo-task.md indefinitely until killed.
# kill via: pkill -f '.yolo-loop.sh'

set -u
cd "$(dirname "$0")" || exit 2
LOG="$PWD/.yolo.log"
TASK="$PWD/.yolo-task.md"
STATE="$PWD/.yolo-state.md"
ITER=0

print -- "$(date -u +%Y-%m-%dT%H:%M:%SZ) yolo-loop START — pid=$$ task=$TASK log=$LOG" >> "$LOG"

while true; do
  ITER=$((ITER+1))
  print -- "$(date -u +%Y-%m-%dT%H:%M:%SZ) === iter $ITER START ===" >> "$LOG"

  # Re-read the task each iter so Steve can edit it live.
  PROMPT="$(cat "$TASK")"
  if [[ -f "$STATE" ]]; then
    PROMPT+="\n\n## State from previous iterations\n$(cat "$STATE")"
  fi

  echo "$PROMPT" | /Users/macstudio3/.local/bin/claude --print --dangerously-skip-permissions --max-turns 80 >> "$LOG" 2>&1
  EXIT=$?
  print -- "$(date -u +%Y-%m-%dT%H:%M:%SZ) === iter $ITER END exit=$EXIT ===" >> "$LOG"

  # Pause between iterations
  sleep 30
done