Zum Inhalt springen

Mitwirken

Wir freuen uns über Beiträge zu Wails! Egal, ob du Fehler behebst, neue Funktionen hinzufügst oder die Dokumentation verbesserst, deine Hilfe wird sehr geschätzt.

Einen Fehler gefunden? Öffne ein Issue mit:

  • Klare Beschreibung
  • Schritte zur Reproduktion
  • Erwartetes vs. tatsächliches Verhalten
  • Systeminformationen
  • Code-Beispiele

Verbesserungen der Dokumentation sind immer willkommen:

  • Tippfehler und Fehler korrigieren
  • Beispiele hinzufügen
  • Erklärungen präzisieren
  • Inhalte übersetzen

Reiche Code über Pull Requests ein:

  • Fehlerbehebungen
  • Neue Funktionen
  • Leistungsverbesserungen
  • Tests
Terminal-Fenster
# Fork das Repository auf GitHub
# Dann deinen Fork klonen
git clone https://github.com/YOUR_USERNAME/wails.git
cd wails
# Upstream-Remote hinzufügen
git remote add upstream https://github.com/wailsapp/wails.git
Terminal-Fenster
# Abhängigkeiten installieren
go mod download
# Wails CLI bauen
cd v3/cmd/wails3
go build
# Dein Build testen
./wails3 version
Terminal-Fenster
# Alle Tests ausführen
go test ./...
# Tests für bestimmte Pakete ausführen
go test ./v3/pkg/application
# Mit Abdeckungsanalyse ausführen
go test -cover ./...
Terminal-Fenster
# main aktualisieren
git checkout main
git pull upstream main
# Feature-Branch erstellen
git checkout -b feature/my-feature
  1. Code schreiben unter Einhaltung der Go-Konventionen
  2. Tests hinzufügen für neue Funktionalitäten
  3. Dokumentation aktualisieren, falls erforderlich
  4. Tests ausführen, um sicherzustellen, dass nichts kaputtgeht
  5. Änderungen committen mit klaren Nachrichten
Terminal-Fenster
# Gute Commit-Nachrichten
git commit -m "fix: window focus issue on macOS beheben"
git commit -m "feat: Unterstützung für benutzerdefiniertes Fenster-Chrome hinzufügen"
git commit -m "docs: Bindings-Dokumentation verbessern"
# Verwende konventionelle Commits:
# - feat: Neue Funktion
# - fix: Fehlerbehebung
# - docs: Dokumentation
# - test: Tests
# - refactor: Code-Refactoring
# - chore: Wartung
Terminal-Fenster
# Zu deinem Fork pushen
git push origin feature/my-feature
# Pull Request auf GitHub öffnen
# Klare Beschreibung bereitstellen
# Verwandte Issues referenzieren
## Beschreibung
Kurze Beschreibung der Änderungen
## Änderungen
- Feature X hinzugefügt
- Bug Y behoben
- Dokumentation aktualisiert
## Testing
- Getestet auf macOS 14
- Getestet auf Windows 11
- Alle Tests bestanden
## Verwandte Issues
Behebt #123
  • Code folgt den Go-Konventionen
  • Tests hinzugefügt/aktualisiert
  • Dokumentation aktualisiert
  • Alle Tests bestanden
  • Keine Breaking Changes (oder dokumentiert)
  • Commit-Nachrichten klar
// ✅ Gut: Klar, dokumentiert, getestet
// ProcessData verarbeitet die Eingabedaten und gibt das Ergebnis zurück.
// Es gibt einen Fehler zurück, wenn die Daten ungültig sind.
func ProcessData(data string) (string, error) {
if data == "" {
return "", errors.New("data cannot be empty")
}
result := process(data)
return result, nil
}
// ❌ Schlecht: Keine Docs, keine Fehlerbehandlung
func ProcessData(data string) string {
return process(data)
}
func TestProcessData(t *testing.T) {
tests := []struct {
name string
input string
want string
wantErr bool
}{
{"gültige Eingabe", "test", "processed", false},
{"leere Eingabe", "", "", true},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := ProcessData(tt.input)
if (err != nil) != tt.wantErr {
t.Errorf("ProcessData() error = %v, wantErr %v", err, tt.wantErr)
return
}
if got != tt.want {
t.Errorf("ProcessData() = %v, want %v", got, tt.want)
}
})
}
}

Die Dokumentation verwendet Starlight (Astro):

Terminal-Fenster
cd docs
npm install
npm run dev
  • Verwende britisches Englisch als Rechtschreibung
  • Beginne mit dem Problem
  • Biete funktionierende Beispiele
  • Füge Troubleshooting hinzu
  • Verweise auf verwandte Inhalte

Sei respektvoll, inklusiv und professionell. Wir sind alle hier, um großartige Software gemeinsam zu entwickeln.

Mitwirkende werden anerkannt in:

  • Release-Notizen
  • Liste der Mitwirkenden
  • GitHub-Einblicken

Danke, dass du zu Wails beigetragen hast! 🎉