Files
alpaclaudia/dashboard
admin 39875112a0 initial: alpaclaudia paper-trading bot + dashboard
Python bot (bot/alpaclaudia): alpaca-py client, wheel strategy (CSP + covered
calls) plus equity trailing stops, risk gates (cash buffer, cost-basis guard,
per-symbol concentration cap), SQLite state log, Typer CLI (tick/loop/status/
report/dump-state), Discord daily report, pytest suite.

Next.js 14 dashboard (dashboard/): read-only — reads the bot's SQLite directly
and pulls live account/positions/orders from Alpaca. KPIs, equity chart,
positions, bot-intents audit table, and orders table. Dark UI with Tailwind.

systemd/: user-unit templates for the polling loop and the post-close report
timer.

docs/STRATEGY.md: wheel mechanics, risk invariants, later candidates.

Defaults to BOT_MODE=dry — nothing is submitted to Alpaca until explicitly
enabled in .env. ALPACA_ENV=paper by default; flipping to live requires an
explicit second guard.
2026-04-16 21:38:25 +02:00
..

alpaclaudia — dashboard

Next.js 14 dashboard that renders the bot's Alpaca snapshot (live via REST) and its SQLite state log (read-only).

Dev

cd dashboard
npm install
cp .env.example .env.local      # fill ALPACA_API_KEY + ALPACA_API_SECRET
npm run dev                     # http://localhost:3030

The dashboard never places orders — it only reads. Write-paths are owned by the Python bot (see ../bot).

Environment

Var Purpose
ALPACLAUDIA_DB Path to bot SQLite DB (default ../data/alpaclaudia.db)
ALPACA_API_KEY / ALPACA_API_SECRET Paper API creds
ALPACA_BASE_URL https://paper-api.alpaca.markets

Production

npm run build
npm start    # serves on :3030

Reverse-proxy behind Caddy / nginx as needed; the process is single-tenant.