Zum Hauptinhalt springen

Mitwirkenden-Anleitung

Willkommen bei Casdoor! Dieses Dokument dient als Richtlinie, wie man zu Casdoor beitragen kann.

Wenn du falsche oder fehlende Informationen findest, hinterlasse bitte deine Kommentare oder Vorschläge.

Beteilige dich

Es gibt viele Möglichkeiten, zu Casdoor beizutragen. Hier sind einige Ideen, um anzufangen:

  • Verwende Casdoor und melde Probleme. Wenn du Casdoor verwendest, melde alle Probleme - ob es sich um Fehler oder Vorschläge handelt - auf GitHub Discussions oder auf Discord, bevor du ein Issue auf GitHub einreichst.
Info

Bitte verwende Englisch, um die Details deines Problems zu beschreiben, wenn du ein Issue meldest.

  • Hilf mit bei der Dokumentation. Mit der Dokumentation anzufangen, ist eine gute Wahl für deinen Beitrag.

  • Hilf bei der Lösung von Problemen. Wir haben eine Tabelle, die einfache Aufgaben für Anfänger unter Casdoor Easy Tasks enthält, mit unterschiedlichen Herausforderungsstufen, die mit verschiedenen Tags gekennzeichnet sind.

Mitwirken

Wenn du bereit bist, einen PR zu erstellen, hier ist der Workflow für Mitwirkende:

  1. Forke zu deinem eigenen Repository.

  2. Klone dein geforktes Repository in ein lokales Repository.

  3. Erstelle einen neuen Branch und arbeite daran.

  4. Halte deinen Branch synchron.

  5. Committe deine Änderungen. Stelle sicher, dass deine Commit-Nachricht prägnant ist.

  6. Pushe deine Commits zu deinem geforkten Repository.

  7. Erstelle einen Pull Request von deinem Branch zu unserem Master-Branch.

Pull Requests

Bevor du anfängst

Casdoor verwendet GitHub als Entwicklungsplattform, und Pull Requests sind die primäre Quelle für Beiträge.

Hier sind einige Dinge, die du wissen musst, bevor du einen Pull Request öffnest:

  • Du musst das CLA unterschreiben, wenn du zum ersten Mal einen Pull Request erstellst.

  • Erkläre, warum du den Pull Request einreichst und was er für das Repo tun wird.

  • Nur ein Commit ist erlaubt. Wenn der PR mehr als eine Sache macht, bitte teile ihn auf.

  • Wenn es neu hinzugefügte Dateien gibt, bitte füge die Casdoor-Lizenz oben in den neuen Datei(en) hinzu.

// Copyright 2022 The Casdoor Authors. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

Semantische PRs

Deine Pull Requests sollten der Conventional Commits Spezifikation folgen. Die Grundvoraussetzung ist, dass nur der PR-Titel oder mindestens eine Commit-Nachricht. Zum Beispiel sind unten drei häufig verwendete PR-Titel gegeben:

Vorsicht

PR-Titel müssen in Kleinbuchstaben sein.

  1. fix: ein Commit vom Typ fix behebt einen Fehler in deiner Codebasis.

    fix: prevent racing of requests
  2. feat: ein Commit vom Typ feat führt ein neues Feature in die Codebasis ein.

    feat: allow provided config object to extend other configs
  3. docs: ein Commit vom Typ docs fügt hinzu oder verbessert die Dokumentation.

    docs: correct spelling of CHANGELOG

Für weitere Details, siehe bitte die Seite Conventional Commits.

PRs mit Issues verknüpfen

Du kannst einen Pull Request mit einem Issue verknüpfen, um zu zeigen, dass eine Lösung in Arbeit ist und um das Issue automatisch zu schließen, wenn der Pull Request gemerged wird.

Einen Pull Request mit einem Issue verknüpfen unter Verwendung eines Schlüsselworts

Du kannst einen Pull Request mit einem Issue verknüpfen, indem du ein unterstütztes Schlüsselwort in der Beschreibung des Pull Requests oder in einer Commit-Nachricht verwendest. Der Pull Request muss im Standardbranch sein.

  • close
  • fix
  • resolve

Ein Issue im selben Repository, zum Beispiel:

Fix: #902

Für weitere Details, siehe bitte Linking a Pull Request to an Issue.

PRs ändern

Dein PR könnte eine Überarbeitung benötigen. Bitte ändere denselben PR, wenn der Code Änderungen benötigt; schließe den PR nicht und öffne einen neuen. Hier ist ein Beispiel:

  • Ändere den Code lokal.

  • Ändere deinen Commit.

git commit --amend
  • Pushe zu deinem entfernten Repository.
git push --force

Dann hast du erfolgreich den PR geändert!

Codebezogen

Einige Prinzipien:

  • Lesbarkeit: Wichtiger Code sollte gut dokumentiert sein. Der Code-Stil sollte mit dem bestehenden übereinstimmen.

Namenskonvention

Zum Beispiel signupUrl für Variablennamen, Signup URL für die Benutzeroberfläche.

Wie aktualisiert man i18n-Daten?

Bitte beachte, dass wir Crowdin als Übersetzungsplattform und i18next als Übersetzungstool verwenden. Wenn du Strings mit i18next im Verzeichnis web/ hinzufügst, kannst du i18n/generate_test.go ausführen, um web/src/locales/**/data.json automatisch zu generieren.

Führe i18n/generate_test.go aus:

cd i18n && go test

Alle Sprachen sind standardmäßig auf Englisch ausgefüllt. Nachdem dein PR gemerged wurde, bist du ermutigt, bei der Übersetzung der neu hinzugefügten Strings in web/src/locales/zh/data.json durch Crowdin zu helfen.

Vorsicht

Wenn du mit einer Sprache nicht vertraut bist, übersetze sie bitte nicht; behalte die Datei, wie sie ist.

Lizenz

Indem du zu Casdoor beiträgst, stimmst du zu, dass deine Beiträge unter der Apache-Lizenz lizenziert werden.