Files
clownfischserver/CONTRIBUTING.md
root f2fdf95897 v0.5.0: Add RBAC auth, LLM router, audit logging, output sanitization
- New: auth.py – Role-based access (operator/approver/viewer)
- New: llm_router.py – Configurable primary/fallback provider chain
- New: audit_log.py + audit_query.py – DSGVO-compliant audit trail
- New: sanitize_output() – masks secrets in bot responses
- Updated: bot.py – Integrated auth guards, router, audit logging
- Updated: ollama_client.py – Router-compatible interface
- Updated: CLOWNFISCHSERVER.md – Documentation updated
- Updated: README.md – Documentation updated
2026-06-26 20:41:35 +02:00

54 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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