|
| 1 | +## 🚀 Nomenclature des noms de branches |
| 2 | + |
| 3 | +Les branches doivent décrire leur objectif. Utilise un **préfixe** suivi d’un **slug** clair et concis. |
| 4 | + |
| 5 | +### 📂 Types de branches : |
| 6 | + |
| 7 | +| Type | Préfixe | Exemple | |
| 8 | +| -------- | ----------- | --------------------------------- | |
| 9 | +| Feature | `feature/` | `feature/user-authentication` | |
| 10 | +| Bug fix | `fix/` | `fix/login-redirect-bug` | |
| 11 | +| Hotfix | `hotfix/` | `hotfix/crash-on-startup` | |
| 12 | +| Refactor | `refactor/` | `refactor/user-service-structure` | |
| 13 | +| Chore | `chore/` | `chore/update-dependencies` | |
| 14 | +| Test | `test/` | `test/add-login-unit-tests` | |
| 15 | +| Docs | `docs/` | `docs/api-auth-docs` | |
| 16 | +| Release | `release/` | `release/v1.0.0` | |
| 17 | + |
| 18 | +**Bonus :** Ajoute un identifiant de ticket si tu travailles avec un outil comme Jira, Notion ou Linear : |
| 19 | + |
| 20 | +``` |
| 21 | +feature/1234-user-authentication |
| 22 | +fix/BUG-982-login-crash |
| 23 | +``` |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +## 📝 Nomenclature des messages de commit |
| 28 | + |
| 29 | +Utilise le **format conventionnel** `type(scope): message`, inspiré de [Conventional Commits](https://www.conventionalcommits.org/), très apprécié dans les projets pro, surtout avec les outils d’intégration continue (CI/CD). |
| 30 | + |
| 31 | +### 🔠 Types courants de commits |
| 32 | + |
| 33 | +| Type | Utilisation | Exemple | |
| 34 | +| ---------- | ------------------------------------------------------ | ----------------------------------------------- | |
| 35 | +| `feat` | Nouvelle fonctionnalité | `feat(auth): add GitHub OAuth login` | |
| 36 | +| `fix` | Correction de bug | `fix(api): prevent crash on empty payload` | |
| 37 | +| `docs` | Changement de documentation | `docs(readme): add usage instructions` | |
| 38 | +| `style` | Changement sans impact sur le code (indentation, etc.) | `style(ui): reindent login form` | |
| 39 | +| `refactor` | Refactoring sans changement fonctionnel | `refactor(db): simplify user query` | |
| 40 | +| `perf` | Amélioration des performances | `perf(api): reduce response time for dashboard` | |
| 41 | +| `test` | Ajout ou mise à jour de tests | `test(user): add signup unit tests` | |
| 42 | +| `chore` | Tâches diverses (build, dépendances, scripts, etc.) | `chore: update eslint config` | |
| 43 | +| `ci` | Configuration de l’intégration continue | `ci(github): add action for test coverage` | |
| 44 | + |
| 45 | +### 🎯 Bonnes pratiques |
| 46 | + |
| 47 | +* **Présent** : Utilise l’impératif présent → `add`, `fix`, `update` (pas `added` ou `adds`) |
| 48 | +* **Court et clair** : Max 50-60 caractères pour le titre |
| 49 | +* **Optionnel** : Ajoute une description en dessous si nécessaire |
| 50 | + |
| 51 | +```bash |
| 52 | +git commit -m "feat(profile): add profile picture upload" |
| 53 | + |
| 54 | +# ou avec un corps : |
| 55 | +git commit -m "fix(auth): handle empty token on refresh" -m "Previously, the app crashed when the token was null. This ensures a fallback redirect." |
| 56 | +``` |
0 commit comments