1.8 KiB
1.8 KiB
Codex Instructions – helldivers
Pflichtlektüre vor dem ersten Code-Zugriff
Lies PROJECT_MAP.md in diesem Verzeichnis – sie enthält alle Funktionen, API-Routen, WebSocket-Message-Types, State-Struktur und Datenbank-Details.
Projekt-Überblick
- Port: 3012
- Typ: Authenticated Multiplayer App (WebSocket, SQLite, ELO-Rating)
- Stack: Node.js / Express, WebSocket (ws), SQLite (better-sqlite3), bcrypt, Helmet, rate-limit, Vanilla JS
- Features: Stratagem-Trainer (Timed/Endless/Drill/Speedrun), 1v1-Multiplayer-Matches, ELO-Rangliste, Tages-Challenge, Admin-Panel
Struktur
helldivers/
├── server.js # Express + WebSocket + SQLite (~650 Zeilen)
├── public/app.js # Gesamte Client-Logik (~1840 Zeilen)
├── public/styles.css
├── public/index.html
├── scripts/ # DB-Migrations / Seed
└── data/helldivers.db # SQLite (Scores, Users, History, Sessions)
Git-Workflow
- Branch: immer
bugfixes-featuresfür Änderungen - Commit:
type: kurze Beschreibung– keine Co-Authored-By-Zeile - Vor Commit:
CHANGELOG.mdaktualisieren - Vor Commit:
PROJECT_MAP.mdaktualisieren, falls Funktionen/Routen/WS-Types geändert wurden git addnur einzelne Dateien – keingit add -A- Merge nach
mainnur auf explizite Anweisung
Sicherheit
- Niemals
data/helldivers.dbcommitten
Release-Automation
- Version ist Single Source of Truth:
package.json - Cache-Busting nie manuell pflegen – stattdessen
npm run release:sync - Vor jedem Commit zusätzlich:
npm run release:verify - Repo-Hook:
.githooks/pre-commitführtrelease:syncundrelease:verifyautomatisch aus - Für Versionssprünge:
npm run release:bump:patch,release:bump:minoroderrelease:bump:major