Files
Hercules-Pyloaded/CLAUDE.md
T
Hofei90 ec4b6c0b2f
CI / checks (push) Successful in 1m43s
M0: Projektgerüst für Hercules Pyloaded
- Django 6.0 mit Einstellungen aus Umgebungsvariablen (SQLite lokal, PostgreSQL im Betrieb)
- Pakete engine (reine Spielregeln) und game (Startseite, Health-Check, Worker-Platzhalter)
- uv mit Lockfile, ruff, mypy (strict für engine), pytest mit Smoke-Tests
- pre-commit-Hooks und vorbereiteter Gitea-Actions-Workflow
- Dockerfile und docker-compose (web, worker, db)
- README, CLAUDE.md, MIT-Lizenz

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 11:50:40 +02:00

40 lines
1.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Hercules Pyloaded – Hinweise für Claude
Python-Neubau des PHP-Browsergames Hercules. Die Altversionen liegen unverändert daneben
(`../v001-warpman`, `../v002-hercules-reload`, `../v003-hercules-rereload`) und dienen nur als
Quelle für Spielideen und Balancing-Werte; Code wird nicht übernommen.
Konzept: https://claude.ai/code/artifact/745bf02e-46d7-4087-9f78-d941c55997f1 (Claude Doc,
mit den Docs-Werkzeugen lesen). Vor größeren Änderungen an Spielregeln dort nachsehen.
## Befehle
uv ist nicht im PATH, daher immer `python -m uv run …`:
- Tests: `python -m uv run pytest`
- Lint/Format: `python -m uv run ruff check` / `python -m uv run ruff format`
- Typen: `python -m uv run mypy`
- Server: `python -m uv run python manage.py runserver`
## Architekturregeln
- `src/engine/` ist reines Python ohne Django-Import, `mypy --strict`, jede Formel hat Tests.
- Views rufen Services auf; Services laden Daten, rufen die Engine, schreiben in einer Transaktion.
- Erweiterbarkeit ist eine harte Anforderung: neue Rohstoffe, Gebäude, Forschungen, Rumpfe und
Bauteile nur über Daten (`data/*.yaml`), nie über neue Spalten oder Code. Keine Spalte pro
Rohstoff oder Gebäude; Verweise nur über stabile Text-Schlüssel (`titan`, `zentrale`).
- Wirkungen von Gebäuden und Forschung laufen über das Effekt-System; neuer Code nur für eine
neue Effekt-Art.
- Wachstum exponentiell, Parameter pro Eintrag in den Stammdaten.
- Zeitgesteuertes über die Event-Queue (`run_worker`); Rohstoffe werden beim Lesen hochgerechnet.
- Einstellungen nur über Umgebungsvariablen (`src/config/settings.py`, `.env.example`).
## Sprache
Oberfläche, Kommentare, Docstrings und Commit-Nachrichten auf Deutsch. Code-Bezeichner
(Klassen, Funktionen, Variablen) auf Englisch.
## Repository
Gitea: https://git.pertl-ing.de/ (privat). Push nur nach Freigabe durch den User.