Passer au contenu principal

Guide du contributeur

Bienvenue sur Casdoor ! Ce document sert de ligne directrice sur la façon de contribuer à Casdoor.

Si vous trouvez des informations incorrectes ou manquantes, veuillez laisser vos commentaires ou suggestions.

Participez

Il y a de nombreuses façons de contribuer à Casdoor. Voici quelques idées pour commencer :

  • Utilisez Casdoor et signalez des problèmes. Lorsque vous utilisez Casdoor, signalez tout problème - qu'il s'agisse de bugs ou de propositions - sur GitHub Discussions ou sur Discord avant de déposer un problème sur GitHub.
info

Veuillez utiliser l'anglais pour décrire les détails de votre problème lors du signalement d'un problème.

  • Aidez avec la documentation. Commencer votre travail de contribution avec la documentation est un bon choix.

  • Aidez à résoudre les problèmes. Nous avons un tableau qui contient des tâches faciles adaptées aux débutants sous Casdoor Easy Tasks, avec différents niveaux de défis étiquetés avec différentes balises.

Contribuer

Si vous êtes prêt à créer une PR, voici le workflow pour les contributeurs :

  1. Forkez vers votre propre dépôt.

  2. Clonez votre fork vers un dépôt local.

  3. Créez une nouvelle branche et travaillez dessus.

  4. Gardez votre branche synchronisée.

  5. Validez vos changements. Assurez-vous que votre message de commit est concis.

  6. Poussez vos commits vers votre dépôt forké.

  7. Créez une pull request de votre branche vers notre branche master.

Pull Requests

Avant de commencer

Casdoor utilise GitHub comme plateforme de développement, et les pull requests sont la principale source de contributions.

Voici quelques choses que vous devez savoir avant d'ouvrir une pull request :

  • Vous devez signer le CLA lorsque vous créez une pull request pour la première fois.

  • Expliquez pourquoi vous soumettez la pull request et ce qu'elle fera au dépôt.

  • Un seul commit est autorisé. Si la PR fait plus d'une chose, veuillez la diviser.

  • Si de nouveaux fichiers sont ajoutés, veuillez inclure la licence Casdoor en haut des nouveaux fichiers.

// 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.

PRs sémantiques

Vos pull requests doivent suivre la spécification des Conventional Commits. L'exigence de base est que seulement le titre de la PR ou au moins un message de commit. Par exemple, trois titres de PR couramment utilisés sont donnés ci-dessous :

prudence

Les titres de PR doivent être en minuscules.

  1. fix : un commit du type fix corrige un bug dans votre base de code.

    fix: prevent racing of requests
  2. feat : un commit du type feat introduit une nouvelle fonctionnalité dans la base de code.

    feat: allow provided config object to extend other configs
  3. docs : un commit du type docs ajoute ou améliore la documentation.

    docs: correct spelling of CHANGELOG

Pour plus de détails, veuillez vous référer à la page Conventional Commits.

Lier les PRs aux Issues

Vous pouvez lier une pull request à un problème pour montrer qu'une correction est en cours et pour fermer automatiquement le problème lorsque la pull request est fusionnée.

Lier une Pull Request à un Issue en utilisant un mot-clé

Vous pouvez lier une pull request à un problème en utilisant un mot-clé pris en charge dans la description de la pull request ou dans un message de commit. La pull request doit être sur la branche par défaut.

  • close
  • fix
  • resolve

Un problème dans le même dépôt, par exemple :

Fix: #902

Pour plus de détails, veuillez vous référer à Lier une Pull Request à un Issue.

Modifier les PRs

Votre PR peut nécessiter une révision. Veuillez modifier la même PR lorsque le code nécessite des changements ; ne fermez pas la PR et n'en ouvrez pas une nouvelle. Voici un exemple :

  • Modifiez le code sur votre local.

  • Modifiez votre commit.

git commit --amend
  • Poussez vers votre dépôt distant.
git push --force

Ensuite, vous aurez réussi à modifier la PR !

En rapport avec le code

Quelques principes :

  • Lisibilité : le code important doit être bien documenté. Le style de code doit être conforme à celui existant.

Convention de nommage

Par exemple, signupUrl pour les noms de variables, Signup URL pour l'UI.

Comment mettre à jour les données i18n ?

Veuillez noter que nous utilisons Crowdin comme plateforme de traduction et i18next comme outil de traduction. Lorsque vous ajoutez des chaînes en utilisant i18next dans le répertoire web/, vous pouvez exécuter i18n/generate_test.go pour générer automatiquement web/src/locales/**/data.json.

Exécutez i18n/generate_test.go :

cd i18n && go test

Toutes les langues sont remplies en anglais par défaut. Après que votre PR a été fusionnée, vous êtes encouragé à aider à traduire les chaînes nouvellement ajoutées dans web/src/locales/zh/data.json par Crowdin.

prudence

Si vous n'êtes pas familier avec une langue, veuillez ne pas la traduire ; gardez le fichier tel quel.

Licence

En contribuant à Casdoor, vous acceptez que vos contributions soient sous licence Apache.