Mitwirken
Wir freuen uns über Beiträge jeder Art – sei es durch Fehlerberichte, Verbesserungsvorschläge oder direkte Code-Beiträge.
Fehler melden
Prüfen Sie zunächst, ob das Problem bereits als Issue gemeldet wurde
Erstellen Sie ein neues Issue mit folgenden Angaben:
Klare Beschreibung des Problems
Schritte zur Reproduktion
Erwartetes vs. tatsächliches Verhalten
Umgebung (Node.js-Version, Browser, Betriebssystem)
Screenshots oder Logausgaben, sofern hilfreich
Features vorschlagen
Erstellen Sie ein Issue mit dem Label
enhancementBeschreiben Sie das gewünschte Feature klar und präzise
Erläutern Sie den konkreten Anwendungsfall
Code beitragen
Voraussetzungen
Fork des Repositories auf GitHub
Lokale Entwicklungsumgebung eingerichtet (siehe Entwicklungsumgebung)
Ablauf
# 1. Fork klonen
git clone https://github.com/IHR-USERNAME/Support-Engine.git
cd Support-Engine
# 2. Feature-Branch erstellen
git checkout -b feature/kurze-beschreibung
# 3. Abhängigkeiten installieren
npm install
# 4. Entwicklungsserver starten
npm run dev
# 5. Änderungen vornehmen und testen
npm run check # TypeScript-Prüfung
npm run lint # ESLint
npm run e2e # E2E-Tests (optional)
# 6. Commit erstellen
git commit -m "feat: kurze Beschreibung der Änderung"
# 7. Branch pushen
git push origin feature/kurze-beschreibung
# 8. Pull Request auf GitHub erstellen
Commit-Konventionen
Verwenden Sie semantische Commit-Nachrichten:
Präfix |
Bedeutung |
Beispiel |
|---|---|---|
|
Neue Funktion |
|
|
Fehlerbehebung |
|
|
Dokumentation |
|
|
Refactoring (kein Bugfix, kein Feature) |
|
|
Tests hinzufügen oder anpassen |
|
|
Build, Abhängigkeiten, Konfiguration |
|
Coding-Richtlinien
Sprache: Kommentare und Variablennamen auf Deutsch; Code-Bezeichner auf Englisch (TypeScript-Konvention)
Props: Alle React-Props mit
Readonly<{...}>typisierenReact Keys: Keine Array-Indizes als
key-Props; stabile IDs verwendenLogging:
server/logger.ts(Winston) verwenden; keinconsole.logim Server-CodeDatenbankzugriff: Ausschließlich über
server/storage.ts; direkte DB-Abfragen in Routes vermeidenValidierung: Zod-Schemas aus
shared/schema.tsan API-Grenzen einsetzenSonarQube: CI-Analyse läuft automatisch; unnötige Assertions und tote Zuweisungen vermeiden
Tests
Neue Backend-Funktionen sollten einen Unit-Test in
tests/erhaltenNeue UI-Flows sollten, wenn möglich, einen E2E-Test in
e2e/erhaltenAlle bestehenden Tests müssen nach der Änderung weiterhin bestehen
npm test # Vitest Unit-Tests
npm run e2e # Playwright E2E-Tests
Verhaltenskodex
Respektvoller und konstruktiver Umgang
Kritik an Code, nicht an Personen
Offenheit für verschiedene Lösungsansätze
Kontakt
Issues & Diskussionen: https://github.com/northbyte-io/Support-Engine/issues
E-Mail: info@northbyte.io