# CLAUDE.md – helldivers ## Overview Port: 3012 Type: Authenticated Multiplayer App (WebSocket, SQLite, ELO-Rating, Bcrypt, Helmet) ## Running ```bash node server.js # Produktion npm run dev # Entwicklung ``` ## Structure ``` helldivers/ ├── server.js # Express + WebSocket (ws) + SQLite (better-sqlite3) ├── public/app.js # Gesamte Client-Logik (~1840 Zeilen) ├── public/styles.css ├── public/index.html ├── scripts/ # DB-Migrations / Seed └── data/helldivers.db ``` ## Deployment - Runs under PM2 on the host - Nginx reverse-proxies to port 3012 ## Branches - `main` – stable, production-ready code - `bugfixes-features` – active development ## Commit Convention `type: short description` Types: `feat`, `fix`, `refactor`, `docs`, `chore` ## PROJECT_MAP.md – Pflege Falls Funktionen, API-Routen, WebSocket-Message-Types oder State-Variablen **hinzugefügt, geändert oder entfernt** werden, muss `PROJECT_MAP.md` **vor dem Commit** aktualisiert werden. Gilt für beide KIs (Claude und Codex) gleichermaßen. ## Changelog - Nach jeder Änderung `CHANGELOG.md` aktualisieren - Format: `## [Unreleased]` für laufende Änderungen ## Release Automation - Version source of truth: `package.json` - Never update `?v=...` asset parameters manually; use `npm run release:sync` - Run `npm run release:verify` before commit whenever frontend/server/version files changed - Repo hook: `.githooks/pre-commit` runs release sync + verification automatically - Use `npm run release:bump:patch`, `release:bump:minor`, or `release:bump:major` for version bumps