← back to Commercialrealestate

scripts/run-weekly-refresh.sh

23 lines

#!/bin/zsh
# Weekly Browserbase/Crexi refresh: append new in-band active SFV listings, re-rank, commit, notify.
# Wired to launchd com.steve.cre-weekly-refresh (Mon 05:00 America/Los_Angeles, before the Mon 06:00 report).
export PATH="/usr/local/bin:/opt/homebrew/bin:$HOME/.npm-global/bin:$HOME/.claude/local:$PATH"
export NODE_PATH="$HOME/.claude/skills/browserbase/node_modules"
cd "$HOME/Projects/commercialrealestate" || exit 1
LOG=/tmp/cre-weekly-refresh.log
echo "===== refresh $(date) =====" >> "$LOG"

/opt/homebrew/bin/node scripts/refresh-listings.js >> "$LOG" 2>&1
/opt/homebrew/bin/node scripts/analyze.js >> "$LOG" 2>&1

git -c user.email=steve@designerwallcoverings.com -c user.name="Steve" add -A >> "$LOG" 2>&1
git -c user.email=steve@designerwallcoverings.com -c user.name="Steve" commit -q -m "weekly Crexi refresh $(date +%Y-%m-%d)" >> "$LOG" 2>&1

ADDED=$(/opt/homebrew/bin/node -e 'try{process.stdout.write(String(require("./data/last-refresh.json").added))}catch(e){process.stdout.write("0")}')
echo "added=$ADDED" >> "$LOG"
if [ "$ADDED" -gt 0 ] 2>/dev/null; then
  "$HOME/.npm-global/bin/claude" -p "Send a short plain-text email via mcp__george__gmail_send account 'steve-office' to steve@designerwallcoverings.com. Subject: 'SFV CRE weekly refresh: $ADDED new listings'. Body: 'The weekly Crexi refresh added $ADDED new in-band active SFV listing(s) to the ranker; they are now in the daily Top-10 at http://127.0.0.1:9911. Auto-added listings carry broker/unverified caps - verify before acting.' Send only that one email." \
    --allowedTools "mcp__george__gmail_send" --dangerously-skip-permissions >> "$LOG" 2>&1
fi
echo "===== done $(date) =====" >> "$LOG"