diff --git a/CONTRIBUTIONS.md b/CONTRIBUTIONS.md new file mode 100644 index 0000000..3e78f5e --- /dev/null +++ b/CONTRIBUTIONS.md @@ -0,0 +1,97 @@ +# đŸ‘©đŸ§‘â€đŸ’» Contributing Guidelines / Guide de contribution + +Thanks for your interest in contributing to this project! +Merci de votre intĂ©rĂȘt pour ce projet ! + +To ensure a consistent and collaborative workflow, please follow these guidelines. +Pour assurer un flux de travail cohĂ©rent et collaboratif, veuillez suivre ces rĂšgles. + +--- + +## ✅ Minimum Requirements for Every Pull Request (PR) +## ✅ Exigences minimales pour chaque Pull Request (PR) + +Your code **must meet these criteria** before it can be merged into the `main` branch: +Votre code **doit rĂ©pondre Ă  ces critĂšres** avant d'ĂȘtre fusionnĂ© dans la branche `main` : + +1. **Peer Review Required** + **RĂ©vision par un pair requise** + Every PR must be reviewed and approved by at least one other student. You may not approve your own PR. + Chaque PR doit ĂȘtre relue et approuvĂ©e par au moins un autre Ă©tudiant. Vous ne pouvez pas approuver votre propre PR. + +2. **Tests Must Pass** + **Les tests doivent rĂ©ussir** + All tests must pass before merging. If your code breaks something, fix the issue before requesting review. + Tous les tests doivent rĂ©ussir avant la fusion. Si votre code brise quelque chose, corrigez le problĂšme avant de demander une rĂ©vision. + +3. **New Code Must Include Tests** + **Tout nouveau code doit inclure des tests** + Add unit or integration tests for new features. If you’re unsure how, ask for help in your PR. + Ajoutez des tests unitaires ou d’intĂ©gration pour les nouvelles fonctionnalitĂ©s. Si vous ne savez pas comment faire, demandez de l’aide dans votre PR. + +4. **Test Coverage Should Not Decrease** + **La couverture de tests ne doit pas diminuer** + Coverage must stay the same or improve. Small decreases may be acceptable with justification. + La couverture doit rester stable ou s’amĂ©liorer. De lĂ©gĂšres diminutions peuvent ĂȘtre acceptĂ©es avec justification. + +5. **Keep PRs Small and Focused** + **Gardez les PR petites et ciblĂ©es** + Submit pull requests that are small enough to review easily. Big PRs are harder to review and more likely to be rejected or delayed. + Soumettez des PR assez petites pour ĂȘtre faciles Ă  relire. Les grosses PR sont plus difficiles Ă  revoir et peuvent ĂȘtre retardĂ©es ou refusĂ©es. + +6. **Pre-merge with Main Before Approval** + **Fusionnez avec `main` avant d’ĂȘtre approuvé·e** + Make sure your branch is up to date with `main` before requesting review. + Don’t leave merge conflicts for the reviewer to resolve. + Assurez-vous que votre branche est Ă  jour avec `main` avant de demander une rĂ©vision. + Ne laissez pas les conflits de fusion Ă  la personne qui approuve. + +--- + +## 📁 Branching and Workflow +## 📁 Branches et flux de travail + +- Work on a feature branch (not `main`). +- Travaillez sur une branche dĂ©diĂ©e (pas directement sur `main`). +- Use descriptive branch names: `feature/login`, `fix/typo`, etc. +- Utilisez des noms de branche explicites : `feature/login`, `fix/typo`, etc. + +--- + +## đŸ§Ș Running and Writing Tests +## đŸ§Ș ExĂ©cuter et Ă©crire des tests + +- Run tests locally before pushing. +- ExĂ©cutez les tests localement avant de pousser. +- Follow the project's testing tools (e.g., Jest). +- Suivez les outils de test du projet (ex. Jest). +- Write small, clear tests that reflect the expected behavior, even for React pages. +- Écrivez des tests simples et clairs reflĂ©tant le comportement attendu, mĂȘme pour les pages React. + +--- + +## đŸ€ Respect and Collaboration +## đŸ€ Respect et collaboration + +- Be constructive in code reviews. +- Soyez constructif dans les revues de code. +- Ask questions and give helpful feedback. +- Posez des questions et donnez des commentaires utiles. +- Don’t approve PRs unless they meet the minimum requirements. +- N’approuvez pas les PR si elles ne rĂ©pondent pas aux exigences minimales. + +--- + +## 💬 Need Help? +## 💬 Besoin d’aide ? + +Open a discussion or ask in the issue comments. +Ouvrez une discussion ou posez votre question dans les commentaires d’un ticket. + +We’re all learning—no question is too small. +Nous sommes tous en apprentissage—aucune question n’est trop simple. + +--- + +Thank you for helping us build this project! +Merci de contribuer Ă  ce projet !