54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# Contributing to Clownfischserver 🐠
|
||
|
||
Danke dass du mitmachen willst! Hier sind die Regeln:
|
||
|
||
## Grundprinzipien
|
||
|
||
- **Open Source bleibt Open Source** – GPL-3.0, keine Ausnahmen
|
||
- **Lokal first** – keine Cloud-Dependencies, keine externen APIs
|
||
- **Einfach bleiben** – ein Nutzer, ein Bot, ein Server
|
||
- **Sicherheit** – Safety-Check vor jeder Aktion
|
||
|
||
## Pull Requests
|
||
|
||
1. Fork das Repo
|
||
2. Branch erstellen: `git checkout -b feature/dein-feature`
|
||
3. Änderungen committen
|
||
4. PR öffnen mit Beschreibung was und warum
|
||
|
||
## Code Style
|
||
|
||
- Python: PEP8, async/await
|
||
- Bash: shellcheck-kompatibel
|
||
- Kommentare auf Deutsch oder Englisch
|
||
- Header in jeder Datei (siehe bestehende Dateien)
|
||
|
||
## Code-Hygiene (wichtig!)
|
||
|
||
- **Kein toter Code** – keine Funktionen/Module die definiert aber nie aufgerufen werden
|
||
- **Keine versteckten Cloud-Calls** – jeder externe Request muss klar ersichtlich und opt-in sein
|
||
- **Niemals `verify=False`** bei HTTPS-Requests
|
||
- **Keine User-Eingaben an Dritte** ohne explizites Opt-in (DSGVO by design)
|
||
- **Klare Conditions** – verschachtelte Ternaries (`A if B else C` innerhalb von `and`-Ketten) vermeiden
|
||
- Selbst-Review vor jedem Release: macht jede Zeile noch das was sie soll?
|
||
|
||
## Issues
|
||
|
||
- Bug? → Issue mit Log-Output
|
||
- Feature-Idee? → Issue mit Use-Case Beschreibung
|
||
- Frage? → Issue oder Discussions
|
||
|
||
## Was wir suchen
|
||
|
||
- Distro-Support (getestete Fedora/Arch Fixes)
|
||
- Neue Bot-Commands
|
||
- Bessere Safety-Prompts
|
||
- Dokumentation
|
||
- Tests
|
||
|
||
## Was wir NICHT wollen
|
||
|
||
- Cloud-Dependencies
|
||
- Closed-Source Komponenten
|
||
- Komplexität die Einsteiger abschreckt
|