🤝 Contributing to Crumbforest Deployment
Danke dass du dich für Crumbforest interessierst! 💚
Wir freuen uns über alle Beiträge - egal ob du Anfänger oder Experte bist!
🌱 Für Einsteiger
Erste Mal bei Open Source? Kein Problem!
- Lies die README um das Projekt zu verstehen
- Schau dir Issues an
- Label
good first issuesind perfekt zum Starten - Frag bei Unklarheiten - wir helfen gerne!
Ideen aber nicht sicher wo anfangen?
- Tippfehler in Docs korrigieren
- Unklare Abschnitte verbessern
- Beispiele hinzufügen
- Screenshots erstellen
🐛 Bug Reports
Bug gefunden? Bitte öffne ein Issue mit:
Template:
**Beschreibung**
Kurze Beschreibung was nicht funktioniert
**Zu reproduzieren**
Schritte um den Fehler zu reproduzieren:
1. Gehe zu '...'
2. Führe aus '...'
3. Siehe Fehler
**Erwartetes Verhalten**
Was sollte passieren?
**Aktuelles Verhalten**
Was passiert stattdessen?
**Screenshots**
Falls relevant
**Umgebung**
- OS: [z.B. Ubuntu 22.04]
- Nginx Version: [z.B. 1.18.0]
- Browser: [falls relevant]
**Zusätzliche Infos**
Alles weitere was helfen könnte
💡 Feature Requests
Idee für eine Verbesserung? Super!
Template:
**Problem das gelöst werden soll**
Welches Problem adressiert dieser Feature Request?
**Vorgeschlagene Lösung**
Wie könnte das Problem gelöst werden?
**Alternativen**
Andere Lösungsansätze die du in Betracht gezogen hast?
**Zusätzlicher Kontext**
Screenshots, Beispiele, etc.
🔧 Pull Requests
Bevor du startest:
- Check Issues - Gibt es schon ein Issue dazu?
- Diskutiere - Bei größeren Änderungen erst ein Issue öffnen
- Fork - Fork das Repo auf deinen Account
- Branch - Erstelle einen Feature-Branch
Workflow:
# 1. Fork das Repo (via GitHub UI)
# 2. Clone deinen Fork
git clone https://github.com/DEIN-USERNAME/crumbforest-deployment.git
cd crumbforest-deployment
# 3. Erstelle Branch
git checkout -b feature/meine-verbesserung
# oder
git checkout -b bugfix/fehler-beschreibung
# 4. Mache deine Änderungen
# ...
# 5. Teste!
# - Funktioniert der Code?
# - Sind Docs aktualisiert?
# - Sind Beispiele korrekt?
# 6. Commit
git add .
git commit -m "Klare Beschreibung der Änderung"
# 7. Push
git push origin feature/meine-verbesserung
# 8. Erstelle Pull Request (via GitHub UI)
Pull Request Checklist:
- [ ] Branch ist aktuell mit main
- [ ] Tests laufen durch (falls relevant)
- [ ] Docs sind aktualisiert (falls relevant)
- [ ] Commit Messages sind klar und beschreibend
- [ ] Code folgt Style des restlichen Projekts
- [ ] Keine sensiblen Daten (Passwörter, Keys, etc.)
Commit Message Format:
Gut:
Fix: Nginx config syntax error in qdrant.conf
Add: Documentation for SSL certificate renewal
Update: README with new installation steps
Weniger gut:
fix stuff
update
asdf
📝 Dokumentation
Docs verbessern ist super wertvoll!
Was kannst du tun:
- Tippfehler korrigieren
- Unklare Abschnitte umschreiben
- Fehlende Infos hinzufügen
- Beispiele ergänzen
- Screenshots erstellen
- Videos/GIFs für komplexe Schritte
Style Guide:
- Einfache Sprache - Als würdest du einem Freund erklären
- Beispiele - Zeig konkrete Commands
- Struktur - Nutze Headers, Lists, Code-Blocks
- Emojis - Machen Docs freundlicher (aber nicht übertreiben)
- Links - Verlinke zu relevanten Docs
Beispiel:
❌ Schlecht:
Nginx must be configured properly
✅ Gut:
### Nginx konfigurieren
1. Öffne die Config:
```bash
nano /etc/nginx/sites-available/crumbforest.conf
```
2. Ändere `server_name`:
```nginx
server_name crumbforest.deine-domain.de;
```
3. Teste die Config:
```bash
nginx -t
```
🧪 Testing
Tests sind wichtig!
Was testen:
- [ ] Script läuft ohne Fehler
- [ ] Nginx Config ist valid (
nginx -t) - [ ] SSL-Certs werden erstellt
- [ ] Auth funktioniert
- [ ] Rollback funktioniert
Test-Umgebungen:
Lokal testen:
- VM (VirtualBox, VMware)
- Docker Container
- Vagrant
Cloud testen:
- Hetzner Cloud (günstig, ~5€/Monat)
- DigitalOcean Droplets
- AWS Free Tier
Wichtig: Teste auf frischem System, nicht nur auf deinem!
💬 Code Style
Bash Scripts:
#!/bin/bash
# Script beschreibung
set -e # Stoppe bei Fehler
# Variablen in UPPERCASE
BACKUP_DIR="/root/backup"
# Funktionen in lowercase
create_backup() {
echo "Erstelle Backup..."
# ...
}
# Kommentare wo nötig
# Lösche alte Backups
find /root/nginx-backup-* -mtime +30 -delete
Nginx Configs:
# Kommentare für Struktur
# ============================================
# 1) Crumbforest App
# ============================================
server {
# Einrückung: 4 Spaces
listen 443 ssl http2;
# Gruppiere zusammengehörige Settings
ssl_certificate /path/to/cert;
ssl_certificate_key /path/to/key;
# Kommentiere komplexe Blocks
location / {
# Proxy an Backend
proxy_pass http://backend;
}
}
Markdown Docs:
# H1 für Haupttitel
## H2 für Sections
### H3 für Sub-Sections
- Listen für Aufzählungen
- Nutze Checkboxen für Checklists
**Bold** für Wichtiges
`code` für Commands/Pfade
```bash
# Code-Blocks mit Syntax-Highlighting
```
🏷️ Labels
Wir nutzen Labels um Issues zu organisieren:
bug- Etwas funktioniert nichtenhancement- Neue Feature-Ideedocumentation- Docs verbesserngood first issue- Gut für Einsteigerhelp wanted- Wir brauchen Hilfe!question- Frage/Diskussion
🔍 Review Process
- Pull Request wird erstellt
- Maintainer prüft den PR
- Feedback wird gegeben (falls nötig)
- Änderungen werden gemacht
- Merge wenn alles OK!
Geduld: Reviews können ein paar Tage dauern.
🌟 Anerkennung
Alle Contributors werden in:
- CONTRIBUTORS.md
- GitHub Contributors-Liste
- Release Notes (bei größeren Beiträgen)
Du machst Crumbforest besser! 🎉
📜 Code of Conduct
Sei nett und respektvoll! 💚
- ✅ Hilfsbereit und freundlich
- ✅ Konstruktives Feedback
- ✅ Geduldig mit Anfängern
-
✅ Offen für verschiedene Meinungen
-
❌ Keine Beleidigungen
- ❌ Kein Spam
- ❌ Keine Diskriminierung
Probleme? Kontaktiere Maintainer.
📞 Kontakt
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: [optional]
🎓 Ressourcen
Neu bei Git/GitHub?
- GitHub Hello World
- Git Tutorial
- Markdown Guide
Nginx lernen:
- Nginx Beginner's Guide
- DigitalOcean Nginx Tutorials
🙏 Danke!
Jeder Beitrag zählt - egal wie klein! 🌱
Von Krümeln für Krümel 💚