Files
Matt Van Horn 32992834ee Merge PR #48: feat: add Xiaohongshu source + Reddit public fallback
- Xiaohongshu search via local MCP service (opt-in, zero impact if service not running)
- Reddit public JSON fallback (works with zero API keys)
- Reddit priority: ScrapeCreators -> OpenAI -> public fallback
- Updated env.py: Reddit always available via public fallback

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 16:11:35 -08:00

51 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# sync.sh - Deploy last30days skill to all host locations
# Usage: bash scripts/sync.sh (run from repo root)
set -euo pipefail
SRC="$(cd "$(dirname "$0")/.." && pwd)"
echo "Source: $SRC"
TARGETS=(
"$HOME/.claude/skills/last30days"
"$HOME/.agents/skills/last30days"
"$HOME/.codex/skills/last30days"
)
for t in "${TARGETS[@]}"; do
echo ""
echo "--- Syncing to $t ---"
mkdir -p "$t/scripts/lib"
cp "$SRC/SKILL.md" "$t/"
# Main script + lib modules (rsync handles identical files gracefully)
rsync -a "$SRC/scripts/last30days.py" "$t/scripts/"
rsync -a "$SRC/scripts/lib/"*.py "$t/scripts/lib/"
# Vendor directory (bird-search CLI)
if [ -d "$SRC/scripts/lib/vendor" ]; then
rsync -a "$SRC/scripts/lib/vendor" "$t/scripts/lib/"
fi
# Fixtures
if [ -d "$SRC/fixtures" ]; then
mkdir -p "$t/fixtures"
rsync -a "$SRC/fixtures/" "$t/fixtures/"
fi
# Count and report
mod_count=$(ls "$t/scripts/lib/"*.py 2>/dev/null | wc -l | tr -d ' ')
echo " Copied $mod_count modules"
# Verify imports
if (cd "$t/scripts" && python3 -c "from lib import youtube_yt, bird_x, render, ui; print(' Import check: OK')" 2>&1); then
true
else
echo " Import check FAILED"
fi
done
echo ""
echo "Sync complete."