Repo-Struktur
Das App-Repo heißtPharenIT/ELEV8-Labs.
Wichtigste Regel
Nutze Make-Befehle aus dem Repo Root.Erstes lokales Setup
Voraussetzungen installieren
Nutze Node 22, pnpm 9, Python 3.12, Docker und Docker Compose.Wenn du
nvm nutzt, installiere die Version aus der .nvmrc, bevor du Frontend-Abhängigkeiten installierst.Schneller Entwicklungsloop
Nutze beim Coden den kleinsten sinnvollen Check. Für Frontend-Packages:Quality Guardrails
Pharen hat ausführbare Regeln für Dateigrößen und Python-Funktions- oder Klassengrößen. Sie existieren, weil große Dateien schnell entstehen, wenn Menschen oder Agents unter Zeitdruck arbeiten. Starte sie so:scripts/quality-guardrails.mjs und liest .quality-rules.json.
Wie die Regeln funktionieren
Jede Regel hat zwei Werte:target: gewünschte Größe. Darüber gibt es eine Warnung.max: harte Grenze. Neue Änderungen darüber schlagen fehl.
Größenregeln
Standard-Erwartungen:- Backend-Dateien bleiben ungefähr bei 300 Zeilen und unter 500 Zeilen.
- Backend-Funktionen bleiben unter 40 Zeilen.
- Backend-Klassen bleiben unter 200 Zeilen.
- Vue-Dateien bleiben unter 500 Zeilen.
- Frontend-Composables und Services bleiben unter 300 Zeilen.
- Frontend-Stores bleiben unter 400 Zeilen.
- Testdateien dürfen größer sein, sollten aber nach Verhalten oder Verträgen gesplittet werden.
Wo Code hingehört
Backend-Änderungen folgen diesem Pfad:- Views kümmern sich um Request und Response.
- Services schreiben Daten und führen Side Effects aus.
- Selectors lesen Daten und formen Queries.
- Tasks kümmern sich um async Ausführung und Retries.
- Tests prüfen Rechte, Tenant Scope, Validierung, Status Codes und Response-Verträge.
- Services sprechen mit APIs und externen Systemen.
- Mappers wandeln API-Daten in Frontend-Daten um.
- Composables halten State und User Actions.
- Components rendern UI und senden Events.
- Pages verbinden Route, Daten und Layout.
Contribution-Checkliste
Vor Pull Request oder Übergabe:Änderung klein halten
Vermeide fremde Refactors. Wenn eine große Datei gesplittet wird, dann entlang einer echten Verantwortung.
Gezielte Checks ausführen
Starte die kleinsten Frontend- oder Backend-Checks, die zum geänderten Bereich passen.
Quality Rules ausführen
Starte
make quality-rules, wenn du Dateien hinzufügst, Dateien splittest oder große Module berührst.Handoff-Checks ausführen
Starte
make quality. Für breite Dependency-, Package- oder Config-Änderungen nutze QUALITY_FORCE_ALL=1 make quality.Review-Agents sind opt-in. Nutze Quality-, Security-, Performance- oder Pre-Push-Review-Agents nur, wenn jemand diesen Review ausdrücklich will oder wenn ein Push beziehungsweise Pull Request vorbereitet wird.