<essential_principles>
Environment Requirements
This plugin requires two runtimes:
Python 3.12+ with uv for:
- •Instagram scraping (ScrapeCreators API)
- •Event deduplication (rapidfuzz)
- •Newsletter generation (Jinja2)
- •Config validation (Pydantic)
Node.js 18+ with bun for:
- •Facebook event scraping (facebook-event-scraper npm)
Why Two Runtimes?
The facebook-event-scraper library is JavaScript-only with no Python equivalent. Rather than reimplement it, we use a subprocess bridge with strict JSON contracts.
Package Managers
- •uv: Fast Python package manager with lockfile support
- •bun: Fast JavaScript runtime and package manager
Both ensure reproducible environments via lockfiles (uv.lock, bun.lockb).
</essential_principles>
- •Full setup - Install all dependencies from scratch
- •Check environment - Verify everything is configured correctly
- •Update dependencies - Update to latest compatible versions
- •Troubleshoot - Debug environment issues
Wait for response before proceeding. </intake>
<routing> | Response | Workflow | |----------|----------| | 1, "setup", "install", "fresh" | `workflows/setup-environment.md` | | 2, "check", "verify", "status" | Run verification checks inline | | 3, "update", "upgrade" | Run `uv sync --upgrade` and `bun update` | | 4, "troubleshoot", "debug", "help" | Diagnose common issues | </routing><success_criteria> Environment is ready when:
- •
uv --versionreturns 0.4.0+ - •
bun --versionreturns 1.0.0+ - •
uv run python -c "import rapidfuzz"succeeds - •
bun run scripts/scrape_facebook.js --helpsucceeds - •
.envfile exists withSCRAPECREATORS_API_KEYset - •
config/sources.yamlexists and validates </success_criteria>