@nexaris/gcmb
v1.0.3
Published
CLI pour commits avec ticket
Maintainers
Readme
GCB - Git Commit Builder
CLI pour accélérer les commits et push en respectant le pattern de commit de l'équipe.
Description
GCB (Git Commit Builder) est un outil en ligne de commande qui automatise la création de commits formatés selon les conventions de votre équipe. Il génère automatiquement les messages de commit au format type(TICKET): message en extrayant le numéro de ticket depuis le nom de votre branche Git.
Version actuelle : 1.0.0 (V1)
Installation
Installation globale (recommandée)
npm install -g @nexaris/gcmbInstallation locale dans un projet
npm install --save-dev @nexaris/gcmbPrérequis
- Node.js (version 14 ou supérieure)
- Git configuré dans votre projet
- Être sur une branche qui respecte le pattern
*/GYB-XX*(ex:feature/GYB-01,fix/gyb-123-fix-bug)
Usage
gcmb <type> <message>Arguments
type: Type de commit (ex:feat,fix,chore,refactor, etc.)message: Description du commit
Workflow automatique
- Vérification des fichiers staged : Le CLI vérifie qu'au moins un fichier est ajouté avec
git add - Extraction du ticket : Récupère automatiquement le numéro de ticket depuis le nom de la branche
- Création du commit : Génère un commit au format
type(GYB-XX): message - Proposition de push : Demande si vous souhaitez push directement sur la branche
Exemples
Exemple complet
# 1. Vous êtes sur la branche feature/GYB-42
git checkout -b feature/GYB-42
# 2. Vous modifiez des fichiers
# ... modifications ...
# 3. Vous stagez vos fichiers
git add src/components/Header.js
# 4. Vous utilisez gcmb
gcmb feat add new header component
# Résultat :
# ✓ Commit créé : "feat(GYB-42): add new header component"
# ? Do you want push to "feature/GYB-42"? (y/N)Autres exemples
# Fix de bug
gcmb fix resolve login issue on mobile
# Commit : "fix(GYB-42): resolve login issue on mobile"
# Refactoring
gcmb refactor improve performance of data fetching
# Commit : "refactor(GYB-42): improve performance of data fetching"
# Chore (maintenance)
gcmb chore update dependencies
# Commit : "chore(GYB-42): update dependencies"Pattern de branche requis
Le CLI impose que votre branche contienne un ticket commençant par GYB- ou gyb- :
✅ Branches valides :
feature/GYB-01feature/gyb-123fix/GYB-42-fix-loginhotfix/GYB-999
❌ Branches invalides :
feature/my-feature(pas de ticket)feature/TICKET-01(mauvais préfixe)main(pas de ticket)
Messages d'erreur
| Erreur | Raison |
|--------|--------|
| Type cannot be empty | Vous devez fournir un type de commit |
| Message cannot be empty | Vous devez fournir un message de commit |
| Branch must respect this pattern "GYB-ticketnumber" | Votre branche ne contient pas de ticket GYB |
| No file staged. Run git add before | Aucun fichier n'est ajouté au staging (git add) |
Conventions de commit supportées
Le CLI supporte les types de commit standards :
feat: Nouvelle fonctionnalitéfix: Correction de bugrefactor: Refactoring de codechore: Tâches de maintenancedocs: Documentationstyle: Formatage, styletest: Ajout ou modification de testsperf: Amélioration de performance
Roadmap (Améliorations futures)
Cette V1 est ciblée pour les besoins internes de l'équipe. Voici les améliorations prévues :
- [ ] Support de patterns de ticket personnalisables
- [ ] Configuration via fichier
.gcbrc - [ ] Templates de commit personnalisables
- [ ] Validation des types de commit
- [ ] Support des commits co-authored
- [ ] Mode interactif pour sélectionner le type
- [ ] Intégration avec des outils de gestion de tickets (Jira, Linear, etc.)
License
MIT
Développé avec ❤️ pour accélérer le workflow de l'équipe
