Mitwirken
Beiträge sind willkommen — egal ob Bug-Report, Feature-Idee, Dokumentations-Verbesserung oder Code-PR.
Lokale Entwicklung
Abschnitt betitelt „Lokale Entwicklung“git clone https://github.com/JoKerIsCraZy/tocco-mate.gitcd tocco-mate
cp .env.example .env # Werte eintragennpm installnpm run setup # Playwright Chromium
npm run serve # HTTP-Server auf :3000# oder einmal-Scrape:npm startWorkflow
Abschnitt betitelt „Workflow“1. Issue erstellen
Abschnitt betitelt „1. Issue erstellen“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
2. Fork + Feature-Branch
Abschnitt betitelt „2. Fork + Feature-Branch“git checkout -b feat/mein-feature# odergit checkout -b fix/login-edge-case3. Implementieren
Abschnitt betitelt „3. Implementieren“- Bestehende Tests laufen lassen:
npm test - Neue Tests für neue Funktionalität schreiben (
test/unit/*.test.js) - Code-Style siehe unten
4. Pull Request gegen main
Abschnitt betitelt „4. Pull Request gegen main“- 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.
Code-Style
Abschnitt betitelt „Code-Style“- 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*.pngsind gitignored - Immutability: Objekte nicht in-place ändern, sondern neue Objekte zurückgeben (wie in
settings.jspraktiziert)
Kurz: lies zwei, drei bestehende Dateien in
src/durch — der Stil ist konsistent und selbsterklärend.
npm test # alle Unit-Testsnode --test test/unit/auth.queryToken.test.js # einzelner TestTests nutzen node:test und brauchen kein extra Framework.
Frontend (V2 / SvelteKit)
Abschnitt betitelt „Frontend (V2 / SvelteKit)“npm run dev:web # Dev-Server auf :5173 mit HMRnpm run build:web # Build nach dist/Frontend-Code in web-svelte/, baut nach dist/. Der Express-Server hostet dist/ als Static-Files.
Mobile-PWA
Abschnitt betitelt „Mobile-PWA“Vanilla-JS, kein Build. Direkt in web/mobile/ editieren — Reload reicht.
Mit einem Pull Request stimmst du zu, dass dein Beitrag:
- Unter der PolyForm Noncommercial License 1.0.0 veröffentlicht wird, und
- Der Projekt-Maintainer (JoKeRIsCraZy) den Beitrag zusätzlich unter abweichenden Bedingungen verwerten darf (z. B. kommerzielle Lizenzen an Dritte).
Mehr dazu: Lizenz.
Code of Conduct
Abschnitt betitelt „Code of Conduct“Sei freundlich, sei konstruktiv. Persönliche Angriffe, Diskriminierung oder Belästigung führen zum Ausschluss aus dem Projekt.
Fragen?
Abschnitt betitelt „Fragen?“GitHub-Issues sind der bevorzugte Ort. Für privates: eliomdsv@gmail.com.