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.
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 :
Forkez vers votre propre dépôt.
Clonez votre fork vers un dépôt local.
Créez une nouvelle branche et travaillez dessus.
Gardez votre branche synchronisée.
Validez vos changements. Assurez-vous que votre message de commit est concis.
Poussez vos commits vers votre dépôt forké.
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 :
Les titres de PR doivent être en minuscules.
fix : un commit du type
fix
corrige un bug dans votre base de code.fix: prevent racing of requests
feat : un commit du type
feat
introduit une nouvelle fonctionnalité dans la base de code.feat: allow provided config object to extend other configs
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.
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.