From b272b070446867f7077fe26cdd4f6966a2670796 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 10 Jun 2026 06:16:39 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20CLAUDE.md=20=E2=80=94=20Architektur-Inv?= =?UTF-8?q?arianten=20und=20Deploy-Referenz?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..8c08ab5 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,18 @@ +# trade-kuns + +Multi-Pair-Trendfolge-Paper-Bot (BTC/ETH/SOL/XRP_USDT): Donchian-20-Breakout auf 4h, EMA-200 + ADX-20-Filter, Chandelier-Trailing-Stop (3×ATR), long-only, fixe Parameter. **Paper-only — keine Order-Ausführung.** + +## Stack & Befehle +- Bun 1.3 + TypeScript, Drizzle (Postgres), Zod. Tests collocated (`*.test.ts`). +- `bun test` · `bun run start` (Migration + Server) · `bun run backfill` · `bun run walkforward --fixed` · `bun run db:generate` / `db:migrate` +- Env: `DATABASE_URL` (lokal: `localhost:54320/tradekuns`, siehe `.env`), `PORT` (default 8080) + +## Architektur +- **Ein Code-Pfad:** `live/process-cycle.ts` (Live) und `backtest/runner.ts` (Backtest) nutzen dieselben puren Funktionen (`strategy/`, `engine/`, `indicators/`) mit identischer Semantik — Paritätstest in `process-cycle.test.ts` erzwingt das. Änderungen an Entry/Exit/Sizing immer in den geteilten Modulen, nie in Runner oder Live-Loop einzeln. +- Live-State lebt in der DB (`bot_state.cursor_ts` = letzte verarbeitete 15m-Candle); der 5-min-Loop ist cursor-idempotent, Restart-Recovery gratis. +- Specs: `docs/specs/` · Walk-Forward-Ergebnisse: `docs/walkforward-ergebnisse-2026-06-09.md` (Gate nicht bestanden → bewusster Paper-Probelauf, User-Entscheidung 2026-06-10) + +## Deployment +- **https://trading.kuns.dev** · Coolify-App-UUID `j7xbvfezctcxmeuon6gh6v5z` · Port 8080 +- Redeploy: `redeploy j7xbvfezctcxmeuon6gh6v5z "msg"` +- DB im Container: `l8kogcggsc80sgcgk8kswww4:5432` (shared-postgres über Coolify-Netz; `connect_to_docker_network=true`)