Home / Course / Operator quickstart
OperatorOperator quickstart · install + first dry run
Prerequisites
- Python 3.11+ — check with
python3 --version. - uv (fast Python package manager) — install once:
curl -LsSf https://astral.sh/uv/install.sh | shon macOS/Linux, orpowershell -c "irm https://astral.sh/uv/install.ps1 | iex"on Windows. - An Anthropic API key — sign up at console.anthropic.com, $5 in credit lasts you weeks of testing.
- That's it for the dry run. You'll need Facebook + Clickbank/Digistore24 credentials only when you go live.
Step 1 · Download & install
- Drop your email on the home page to unlock the download (tar.gz for Linux/macOS, zip for Windows).
- Unpack to a folder you'll remember. Example:
~/projects/affiliate-operator. - Open a terminal in that folder.
cd ~/projects/affiliate-operator
uv sync # installs all dependencies into ./.venv
playwright install chromium # one-time browser binary download
If uv sync fails on a dependency, the error message will tell you which package; usually a missing system library. On Ubuntu: sudo apt install python3-dev build-essential. On macOS: nothing extra needed.
Step 2 · Configure secrets
cp secrets.env.example secrets.env
$EDITOR secrets.env
For the dry run, only one variable is required:
ANTHROPIC_API_KEY=sk-ant-your-key-here
Leave every other variable blank or commented out. The operator will skip tools that need missing credentials and ask you what to do.
Step 3 · Build the RAG index
The operator's knowledge of the playbook lives in a local vector database built from the course transcripts and module SOPs. One-time build:
python -m orchestrator.rag build
Takes ~3 minutes on a normal laptop. Embeds with bge-small-en-v1.5 (downloaded automatically the first time). Output lives in ./agent_system/knowledge/chromadb/.
Step 4 · First dry run
python -m runners.full_pipeline \
--niche "blood sugar" \
--network clickbank \
--budget 30 \
--dry-run
The agent will narrate its plan, call each tool with the dry-run flag, and print what it would have done. No money spent. No Facebook calls made.
You'll see output like:
[step 0] Planning: blood-sugar offer on Clickbank, $30/day...
[tool] clickbank_top_offers(niche='blood sugar', min_gravity=20, limit=10)
→ would_call: clickbank marketplace scrape...
[step 1] Spying on competitors for top 3 angles...
[tool] spy_fb_ad_library(query='blood sugar', country='US', max_results=25)
→ would_open: facebook.com/ads/library?q=blood+sugar...
[step 2] Building pre-lander from winning angle...
[tool] lander_build(out_path='/tmp/lander.html', headline='Find Your Blood Sugar Type', ...)
→ would_write: /tmp/lander.html (≈6KB quiz template)
...etc.
Step 5 · Going live (only after you've smoke-tested)
Open secrets.env again and fill in:
- FB_EMAIL, FB_PASSWORD, FB_BUSINESS_MANAGER_ID, FB_AD_ACCOUNT_ID, FB_PIXEL_ID
- CLICKBANK_NICKNAME (or DIGISTORE24_API_KEY)
Then drop the --dry-run flag and add --live:
python -m runners.full_pipeline \
--niche "blood sugar" \
--network clickbank \
--budget 30 \
--live
You'll be prompted y/N at every irreversible step. Read each prompt carefully — you're authorizing real spend. Once you trust the agent for a routine step, you can pass --auto-approve to skip prompts for low/high-risk actions (irreversible still always prompts).
Other runners
# daily SEO + YT content drafts (Module 12 + 13)
python -m runners.content_machine --niche "blood sugar" --dry-run
# ban-recovery automation (Module 10)
python -m runners.ban_recovery
Where to look when something goes wrong
- Console output — the agent narrates everything it does.
./logs/— per-run JSONL logs of every tool call + result.- Browser screenshots — every navigation also captures a
.pngin./screenshots/with a timestamp. Critical for debugging "why did the click fail". - Anthropic dashboard — token usage and per-call costs at console.anthropic.com/usage.
Next
Read how the operator works under the hood if you want to modify the tools or add your own. Otherwise, jump back to the course and start at Module 01.