GuruWatcher · Getting started

First hour

Alert-only claim ledger. You bring feeds + Discord webhook. No orders.

Open full setup guide GitHub

Quick path

  1. Clone / install
    git clone --branch v0.1.1 --depth 1 https://github.com/cemini23/GuruWatcher
    cd GuruWatcher
    python3 -m venv .venv && source .venv/bin/activate   # Windows: py -3 -m venv .venv ; .\.venv\Scripts\Activate.ps1
    pip install -r requirements.txt

    Pin release v0.1.1.

  2. Init data dir + status
    python3 -m guru_watcher init --wizard --data-dir ./gw-data   # interactive; --wizard --yes = headless
    export GURU_WATCHER_DATA="$(pwd)/gw-data"   # PowerShell: $env:GURU_WATCHER_DATA = "$(Get-Location)\gw-data"
    python3 -m guru_watcher status
  3. Webhook (or stay dry-run) — copy .env.example.env under the data dir; set GURU_WATCHER_DISCORD_WEBHOOK_URL only for live alerts.
  4. Source — edit gw-data/sources/example.yaml (content you have rights to use).
  5. Try the demo pack (proves ≥1 armed watch)
    bash demos/first-hour/run.sh   # Windows: powershell -ExecutionPolicy Bypass -File demos\first-hour\run.ps1

    Synthetic SPY/QQQ sample — no webhook, no Docker, no paid-newsletter text.

  6. Ingest + dry-run
    python3 -m guru_watcher ingest-run --adapter file_drop --data-dir "$GURU_WATCHER_DATA" --path drop --once
    python3 -m guru_watcher check --dry-run
    bash scripts/smoke_host_oneshot.sh   # optional first-hour host smoke (no webhook/Docker)
  7. Docker pipeline (optional)
    export GURU_WATCHER_HOST_DATA="$(pwd)/gw-data"
    docker compose up --build   # default: loop-pipeline (ingest → reconcile → check)

    No Docker? python3 -m guru_watcher serve --data-dir "$GURU_WATCHER_DATA" runs the same loop on an interval (dry-run default).

Scheduling (cron / Task Scheduler), Windows details, and claim fence: full setup guide. Platform matrix: docs/PLATFORM.md.