Zum Inhalt springen

Mitwirken

Beiträge sind willkommen — egal ob Bug-Report, Feature-Idee, Dokumentations-Verbesserung oder Code-PR.

Terminal-Fenster
git clone https://github.com/JoKerIsCraZy/tocco-mate.git
cd tocco-mate
cp .env.example .env # Werte eintragen
npm install
npm run setup # Playwright Chromium
npm run serve # HTTP-Server auf :3000
# oder einmal-Scrape:
npm start

Beschreibe das Problem oder die Feature-Idee kurz. Vorher prüfen, ob es bereits ein offenes Issue dazu gibt.

https://github.com/JoKerIsCraZy/tocco-mate/issues

Terminal-Fenster
git checkout -b feat/mein-feature
# oder
git checkout -b fix/login-edge-case
  • Bestehende Tests laufen lassen: npm test
  • Neue Tests für neue Funktionalität schreiben (test/unit/*.test.js)
  • Code-Style siehe unten
  • Kurze Beschreibung: was wurde geändert und warum
  • Bei UI-Änderungen: vorher / nachher Screenshots

Für Bugfixes reicht meist ein kleines reproduzierbares Beispiel im Issue.

  • Sprache: CommonJS (require / module.exports), kein Build-Schritt im Backend
  • Datei-Größe: max. ~400 Zeilen pro Datei; lieber mehrere kleine Module
  • Fehlerbehandlung: Fehler immer explizit behandeln — nie still verschlucken
  • Keine externen Linter-Configs im Repo; orientiere dich am bestehenden Stil der Dateien in src/
  • Keine Secrets in Commits — .env, data/ und *.png sind gitignored
  • Immutability: Objekte nicht in-place ändern, sondern neue Objekte zurückgeben (wie in settings.js praktiziert)

Kurz: lies zwei, drei bestehende Dateien in src/ durch — der Stil ist konsistent und selbsterklärend.

Terminal-Fenster
npm test # alle Unit-Tests
node --test test/unit/auth.queryToken.test.js # einzelner Test

Tests nutzen node:test und brauchen kein extra Framework.

Terminal-Fenster
npm run dev:web # Dev-Server auf :5173 mit HMR
npm run build:web # Build nach dist/

Frontend-Code in web-svelte/, baut nach dist/. Der Express-Server hostet dist/ als Static-Files.

Vanilla-JS, kein Build. Direkt in web/mobile/ editieren — Reload reicht.

Mit einem Pull Request stimmst du zu, dass dein Beitrag:

  1. Unter der PolyForm Noncommercial License 1.0.0 veröffentlicht wird, und
  2. Der Projekt-Maintainer (JoKeRIsCraZy) den Beitrag zusätzlich unter abweichenden Bedingungen verwerten darf (z. B. kommerzielle Lizenzen an Dritte).

Mehr dazu: Lizenz.

Sei freundlich, sei konstruktiv. Persönliche Angriffe, Diskriminierung oder Belästigung führen zum Ausschluss aus dem Projekt.

GitHub-Issues sind der bevorzugte Ort. Für privates: eliomdsv@gmail.com.