From 4bb8f010b0e176f9cfc1882cf5be8a1243c583ac Mon Sep 17 00:00:00 2001 From: Anri Date: Fri, 22 Jul 2022 22:47:11 +0200 Subject: [PATCH] docs: contributing.md and issue/pr template (#29) Reviewed-on: https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls/29 --- .gitea/PULL_REQUEST_TEMPLATE.md | 6 +++ .gitea/issue_template/BUG.md | 64 ++++++++++++++++++++++++ .gitea/issue_template/FEATURE.md | 10 ++++ CONTRIBUTING.md | 83 ++++++++++++++++++++++++++++++++ README.md | 11 ++++- 5 files changed, 172 insertions(+), 2 deletions(-) create mode 100644 .gitea/PULL_REQUEST_TEMPLATE.md create mode 100644 .gitea/issue_template/BUG.md create mode 100644 .gitea/issue_template/FEATURE.md create mode 100644 CONTRIBUTING.md diff --git a/.gitea/PULL_REQUEST_TEMPLATE.md b/.gitea/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..1931905 --- /dev/null +++ b/.gitea/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,6 @@ +Checklist: + +- [ ] Suivre les indications de `CONTRIBUTING.md` +- [ ] Augmente de 1 le numéro de version (soit `x.y.z`, augmentez `z` si +bugfix, `y` si ajout de fonctionnalité et `x` si grande nouveautée) +- [ ] Référence aux tickets (par exemple `Closes #xyz`) diff --git a/.gitea/issue_template/BUG.md b/.gitea/issue_template/BUG.md new file mode 100644 index 0000000..cd58f60 --- /dev/null +++ b/.gitea/issue_template/BUG.md @@ -0,0 +1,64 @@ +--- + +name: "🐞 Rapport d'un bug" +about: "Signal un problème rencontré" +ref: "main" +labels: + +- bug +- "help wanted" + +body: + + - type: input + id: source + attributes: + label: Version + description: | + Version du bot utilisée + placeholder: | + Exemple : v1.2.3 + validations: + required: true + + - type: textarea + id: reproduce-steps + attributes: + label: Étapes à suivre pour reproduire + description: Donnez un exemple du problème + placeholder: | + Exemple : + 1. Première étape + 2. Deuxième étape + 3. Problème + validations: + required: true + + - type: textarea + id: expected-behavior + attributes: + label: Comportement attendu + placeholder: | + Example: + "Normalement..." + validations: + required: true + + - type: textarea + id: actual-behavior + attributes: + label: Comportement actuel + placeholder: | + Example: + "Mais actuellement..." + validations: + required: true + + - type: textarea + id: other-details + attributes: + label: Autres détails + placeholder: | + Détails supplémentaires. + +--- diff --git a/.gitea/issue_template/FEATURE.md b/.gitea/issue_template/FEATURE.md new file mode 100644 index 0000000..be5e348 --- /dev/null +++ b/.gitea/issue_template/FEATURE.md @@ -0,0 +1,10 @@ +--- + +name: "💫 Demande une fonctionnalitée" +about: "Propose une nouvelle fonctionnalité à ajouter" +ref: "main" +labels: + +- enhancement + +--- diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..20d5c03 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,83 @@ +# Comment contribuer ? +Ce guide contient méthodes et conseils sur comment aider le projet. +Lisez attentivement si vous êtes un nouveau contributeur. + +Ce guide n'est pas fixe et est mis à jour régulièrement. Si vous +trouvez un problème quelconque, n'hésitez pas à le signaler par le biais +d'un [ticket](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/issues) ou +à le corriger directement en soumettant +une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls). + +## Sommaire +- [Recevoir de l'aide](#recevoir-de-laide) +- [Langues](#langues) + - [Ajouter une langue](#ajouter-une-langue) + - [Mettre à jour une langue](#mettre-à-jour-une-langue) +- [Soumettre ses modifications](#soumettre-ses-modifications) +- [Gestion du dépôt](#gestion-du-dépôt) + +## Recevoir de l'aide +Si tu as besoin d'aide, tu peux poser ta question sur +le [Discord](https://discord.gg/Z5ePxH4). + +## Langues +La langue par défaut est définie dans [`src/utils/client.ts`](src/utils/client.ts) +dans `client.config.default_lang`. + +La langue par défaut fait office de solution de secours dans le cas où une traduction +est incomplète. On part donc du postulat que la langue par défaut contient toujours +toutes les chaînes de caractère dont le bot a besoin. + + +### Ajouter une langue +1. Créer un nouveau fichier dans [src/locales/](./src/locales/), le fichier +doit être nommé `langue.json` avec `langue` suivant +[cette liste](https://discord.com/developers/docs/reference#locales). +2. Le contenu du fichier peut être copié du fichier de la langue par défaut, +[cf. au dessus](#langues). +3. Ce sont les valeurs des clés (le texte à gauche des `:`) qui doivent +être traduits. Merci par avance ! + > Ne vous forcez pas à tout traduire. Même une contribution avec + > une seule variable de modifiée compte ! +4. Une fois terminée, [ouvrez une Pull Request](#soumettre-ses-modifications). + +### Mettre à jour une langue +1. Rechercher la langue dans le dossier [src/locales/](./src/locales/). +2. Modifier/Ajouter des traductions comme +[expliquer au dessus](#ajouter-une-langue) (à partir du `3.`). + > Pensez à vérifier si de nouvelles valeurs n'ont pas été ajouté dans + le fichier langue par défaut, [cf. au dessus](#langues). + +## Soumettre ses modifications +1. Lorsque vous vous sentez confiant dans vos modifications, ouvrez +une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls) +afin que votre code puisse être revu et fusionné. Vous pouvez suivre cette +[condition de nommage](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716#example) +ça aide à s'y retrouver plus rapidement. + +1. Pensez à bien commenter votre code pour que n'importe qui comprennent vos +modifications. Vérifier bien dans tout les fichiers si ce que vous avez +modifié n'est pas référencer ailleurs (exemple : si vous modifier une variable +d'environnement, il faut penser à mettre à jour le +[`README`](./README.md#variables-denvironnements)). + +3. N'oubliez pas d'utiliser [les fichiers de langues](./src/locales/) pour vos +chaînes de caractère, [cf. cette partie](#langues) pour plus de précisions. + +4. Veuillez tester vos modifications avant de les soumettre. **Attention**, ce +n'est pas parce que vos modifications fonctionnent avec `npm run debug` qu'elles +fonctionneront avec `npm run main`, ainsi que dans l'image Docker. + +> **Explication** +> +> `npm run debug` execute le code depuis le dossier [`src`](src/) +> tandis que `npm run main` et l'image Docker le fait depuis le dossier `dist`. +> +> Docker est cependant différent car dans l'image, le dossier [`src`](src/) est +> supprimé. + +## Gestion du dépôt +- On ne push jamais directement sur la branche `main`. +- Quand on merge des modifications vers `main`, on fait un *squash*, +l'historique des modifications reste disponible dans +[le graph](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/graph). diff --git a/README.md b/README.md index 8eed6c6..c31fd65 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,13 @@ services: | :-----------: | :-----------: | :-: | TOKEN_DISCORD | Token Discord | Aucune ---- -### Références +# Contribuer +Toute contribution est la bienvenue ! + +Pour commencer le développement, lis le [fichier de contribution](./CONTRIBUTING.md). + +# Licence +Voir le [fichier LICENCE](./LICENCE). + +# Références [Photo de profil](https://picrew.me/image_maker/1497656)