Vielen Dank für Ihr Interesse, zu WindowsBridge beizutragen! Dieses Dokument beschreibt, wie Sie das Projekt verbessern können.
Wir verpflichten uns, eine einladende und inklusive Umgebung zu schaffen. Bitte behandeln Sie alle mit Respekt.
Falls Sie einen Fehler finden:
- Überprüfen Sie, ob der Bug bereits bekannt ist
- Erstellen Sie ein Issue mit:
- Systeminfo (OS, Version)
- Reproduktionsschritte
- Erwartetes vs. tatsächliches Verhalten
- Logs (falls vorhanden)
Für neue Features:
- Beschreiben Sie die gewünschte Funktionalität
- Begründen Sie den Nutzen
- Geben Sie Beispiele für die Verwendung
Falls Sie Code ändern möchten:
# 1. Fork das Projekt
git clone https://github.com/[DEIN_USERNAME]/windowsbridge.git
cd windowsbridge
# 2. Feature-Branch erstellen
git checkout -b feature/my-feature
# 3. Änderungen durchführen
# Beachten Sie die Code-Richtlinien (siehe unten)
# 4. Tests ausführen
make test
# 5. Committen & Pushen
git commit -am "Add my feature"
git push origin feature/my-feature
# 6. Pull Request erstellen- Shebang:
#!/bin/bash - Indentation: 2 Spaces (kein Tab)
- Variablen: UPPERCASE für Konstanten, lowercase für lokal
- Funktionen: snake_case Naming
- Kommentare: Dokumentieren Sie komplexe Logik
- Error Handling: Nutzen Sie
set -eund Trap-Handler - Logging: Verwenden Sie die Logging-Funktionen
Beispiel:
#!/bin/bash
# Copyright (c) 2026 Stefan. Licensed under Apache-2.0
setup_logging() {
local log_file="$HOME/.config/windowsbridge/mymodule.log"
mkdir -p "${log_file%/*}"
touch "$log_file"
}
log_info() {
echo "[INFO] $1"
}
main() {
setup_logging
log_info "Starte Modul..."
# Ihre Logik hier
}
main "$@"- Style: PEP 8
- Indentation: 4 Spaces
- Type Hints: Wo möglich verwenden
- Docstrings: Für alle Funktionen/Klassen
- Error Handling: Try/Except mit aussagekräftigen Meldungen
- Format: Markdown
- Sprache: Deutsch (oder Englisch mit Genehmigung)
- Struktur: Klar hierarchisiert (H1, H2, H3...)
- Beispiele: Code-Snippets mit Syntax-Highlighting
- Links: Interne Links verwenden
Vor dem Committen:
# Syntax prüfen
make lint
# Tests ausführen
make test
# Oder einzeln
make test-system
make test-wine
make test-gaming<typ>: <kurze Beschreibung>
<ausführliche Beschreibung>
Closes #123
Typen:
feat:Neue Funktionalitätfix:Bugfixdocs:Dokumentationtest:Testsrefactor:Code-Reorganisation ohne Funktionsänderungstyle:Formatierung/Lintingchore:Build/Tooling/Dependencies
Beispiel:
feat: Add GPU detection for Intel drivers
Implementiert automatische GPU-Erkennung für Intel-Grafikkarten
über lspci-Output-Parsing.
Closes #42
- Branch-Naming:
feature/xyzoderfix/xyz - Beschreibung: Erklären Sie, was Sie changed und warum
- Tests: Alle Tests müssen bestanden sein
- Dokumentation: Aktualisieren Sie die Docs, falls nötig
- Reviews: Seien Sie offen für Feedback
Durch Beiträge akzeptieren Sie, dass Ihr Code unter Apache-2.0 lizenziert wird.
Copyright (c) 2026 Stefan
Licensed under the Apache License, Version 2.0...
# Dependencies
sudo apt-get install shellcheck python3
# Repository klonen
git clone https://github.com/stefanxyz/windowsbridge.git
cd windowsbridge
# Änderungen durchführen
nano modules/system_setup.sh
# Testen
make test
# Hilfe
make helpwindowsbridge/
├── installer.sh # Haupt-Orchestrator
├── modules/
│ ├── system_setup.sh # System-Vorbereitung
│ ├── wine_setup.sh # Wine-Installation
│ ├── gaming_setup.sh # Gaming-Setup
│ ├── updater.sh # Update-Routinen
│ ├── gui_launcher.py # GUI-Interface
│ └── test_*.sh # Tests
├── docs/ # Dokumentation
└── README.md # Übersicht
git checkout -b fix/gpu-detection-nvidia
# Bearbeite modules/system_setup.sh
make test-system
git commit -am "fix: Korrigiere GPU-Erkennung für NVIDIA"git checkout -b feature/test-dxvk-validation
# Bearbeite modules/test_wine.sh
# Füge DXVK-Validierungs-Test hinzu
make test-wine
git commit -am "test: Add DXVK validation test"git checkout -b docs/expand-troubleshooting
# Bearbeite docs/troubleshooting.md
git commit -am "docs: Expand troubleshooting section"- 📖 Siehe README.md für Übersicht
- 🆘 Öffnen Sie ein Issue für Fragen
- 💬 Diskutieren Sie in Discussions
Alle Beitragenden werden in CHANGELOG.md aufgeführt!
Vielen Dank für Ihre Unterstützung! ❤️