git v1.13.0
Workflow Git complet : branches, commits, conflits, PR.
Installation
/plugin install git@atournayreSkills Disponibles
Le plugin git fournit 10 skills (format natif Claude Code) :
Task Management System
Nouveauté v1.9.1 : Les skills de workflow PR intègrent le task management system pour un suivi détaillé.
Skills avec task management
| Skill | Nombre de tâches | Type de workflow |
|---|---|---|
git-pr | 13 tâches | Workflow création PR standard |
git-cd-pr | 15 tâches | Workflow CD avec labels version |
git:gen-release-notes | 5 tâches | Génération notes de release |
Fonctionnalités
- Progression visible : Suivi étape par étape de la création de PR
- Statuts clairs : pending → in_progress → completed
- Workflow complet : De la QA à la création de PR en passant par le code review
- Tâches conditionnelles : Review automatique seulement si plugin installé
/git:branch ⭐ v1.13.0 - REFACTORISATION
Création de branche Git avec workflow structuré.
Arguments :
/git:branch [source-branch] <issue-number-or-text>Nouveautés v1.13.0 :
- ✅ SOURCE_BRANCH optionnel (défaut:
MAIN_BRANCHde.env.claude) - ✅ Désambiguisation intelligente des arguments
- ✅ Logique partagée via
branch-core(utilisée aussi pargit:worktree)
Exemples :
# Avec issue seule (source = MAIN_BRANCH)
/git:branch 123
# Avec texte seul (source = MAIN_BRANCH)
/git:branch "add user authentication"
# Avec branche source explicite
/git:branch develop 456
# Depuis branche existante (demande issue/texte)
/git:branch feature/api-baseWorkflow :
- Lit
MAIN_BRANCHdepuis.env.claude(fallback si source non fourni) - Détecte automatiquement branche source vs issue vs texte
- Vérifie branche source existe
- Crée branche avec nom normalisé (avec détection préfixe automatique)
- Format :
feature/123-short-descriptionoufix/login-bug - Checkout automatique
/git:worktree ⭐ NOUVEAU v1.13.0
Création de worktrees Git pour développement parallèle (plusieurs branches simultanément).
Arguments :
/git:worktree [source-branch] <issue-number-or-text>Avantages vs branche classique :
- ✅ Plusieurs branches en parallèle sans stash/commit
- ✅ Répertoires séparés (ex:
feature-123-login/feature-456-profile) - ✅ Utilisateur reste sur sa branche courante dans le worktree principal
- ✅ Convention répertoire automatique :
feature/login-bug→feature-login-bug
Configuration requise dans .env.claude du projet :
WORKTREE_DIR=../worktrees # ou .worktrees ou path custom
MAIN_BRANCH=main # ou master, developExemples :
# Créer worktree pour issue (source = MAIN_BRANCH)
/git:worktree 123
# Créer worktree depuis develop
/git:worktree develop 456
# Créer worktree avec texte descriptif
/git:worktree "fix critical bug"
# Sans argument (demande source + issue/texte)
/git:worktreeWorkflow :
- Lit config
WORKTREE_DIRetMAIN_BRANCHdepuis.env.claude - Désambiguisation identique à
git:branch - Crée branche avec détection préfixe automatique
- Crée répertoire worktree (
WORKTREE_DIR/feature-123-login/) - Checkout branche dans le worktree
- Affiche commande
cdpour accéder
Pour basculer entre worktrees :
cd ../worktrees/feature-123-login
cd ../worktrees/feature-456-profile/git:commit ⭐ v1.12.0 - REFONTE
Créer des commits bien formatés avec format conventional et emoji, avec Task Management System intégré.
Arguments :
/git:commit [--verify] [--no-push]Nouveautés v1.12.0 :
- ✅ Task Management System : Chaque étape trackée via TaskCreate/TaskUpdate
- ✅ 5 tâches : Vérification → Analyse → Stratégie → Création → Push
- ✅ Détection automatique de division des commits (feat + docs, fix + refactor, etc.)
- ✅ 20+ emojis spécialisés : Table complète avec contextes (breaking, security, hotfix, etc.)
- ✅ Mode HEREDOC obligatoire : Format sécurisé pour messages commits
- ✅ Directives de division : Quand créer plusieurs commits
Format Conventional Commits :
<emoji> <type>(<scope>): <description impérative courte>
[body optionnel - explique le "pourquoi"]
[footer optionnel - références issues]Types disponibles (10) :
feat✨ - Nouvelle fonctionnalitéfix🐛 - Correction de bugdocs📝 - Documentationrefactor♻️ - Refactorisationtest✅ - Testschore🔧 - Maintenanceperf⚡ - Performancestyle💄 - Formatageci🚀 - CI/CDrevert⏪ - Annulation
Emojis spécialisés (10+) :
💥Breaking change🔒️Sécurité🚑️Hotfix critique✏️Faute de frappe🚧WIP🚨Lint warnings- Et bien d'autres...
Exemples :
# Commit simple (Task Management automatique)
/git:commit
# Avec vérification QA avant commit
/git:commit --verify
# Sans push automatique
/git:commit --no-push
# Combinaison
/git:commit --verify --no-pushWorkflow (5 étapes) :
- Vérifier les changements - git status, staging automatique si nécessaire
- Analyser le diff - Détection des types de changements
- Déterminer la stratégie - Décision : 1 ou plusieurs commits
- Créer le(s) commit(s) - Messages formatés avec HEREDOC
- Push vers remote - Automatique (sauf
--no-push)
Task Management (nouveau v1.12.0) :
- ✅ Progression visible via 5 tâches
- ✅ Validation avant chaque étape
- ✅ Checklist complète de validation finale
- ✅ Impossibilité de skip une étape
/fix-pr-comments ⭐ NOUVEAU
Récupère et implémente systématiquement TOUS les commentaires de review PR.
Usage :
# Auto-détecte la PR de la branche courante
/fix-pr-comments
# PR spécifique
/fix-pr-comments 123Workflow automatisé :
- Fetch comments : Récupère via
gh pr review list+gh api- Review comments (CHANGES_REQUESTED)
- Inline code comments
- Analyze & plan : Extrait file:line, groupe par fichier
- Implement fixes : Batch avec MultiEdit pour efficacité
- Commit & push :
fix: address PR review comments
Features :
- ✅ Batched MultiEdit pour same-file modifications (efficacité)
- ✅ ALWAYS Read files BEFORE editing (sécurité)
- ✅ Checklist avec progression visible
- ✅ STAY IN SCOPE : never fix unrelated issues
- ✅ Auto-commit + auto-push
Exemple output :
✅ Fetched 5 review comments
📋 Plan:
- src/User.php (3 comments)
- tests/UserTest.php (2 comments)
🔧 Implementing fixes...
✅ src/User.php: Addressed 3 comments
✅ tests/UserTest.php: Addressed 2 comments
✅ Committed and pushed: fix: address PR review comments/git:conflit
Analyse les conflits git et propose une résolution pas à pas avec validation de chaque étape.
Arguments :
/git:conflit <branche-destination>Exemples :
/git:conflit main
/git:conflit developWorkflow :
- Détecte conflits entre branche courante et destination
- Liste fichiers en conflit
- Analyse chaque conflit
- Propose résolution pour chaque fichier
- Validation étape par étape
- Test après résolution
- Commit de merge
Rapport :
🔀 Analyse des conflits
Fichiers en conflit : 3
- src/User.php (5 conflits)
- src/Auth.php (2 conflits)
- config/services.yaml (1 conflit)
Résolution proposée :
[détail par fichier]
Validation : [étape par étape]/git:release-report
Génère un rapport HTML d'analyse d'impact entre deux branches.
Arguments :
/git:release-report <branche-source> <branche-cible> [nom-release]Note : Si les arguments obligatoires ne sont pas fournis, la commande les demandera interactivement.
Exemples :
# Rapport release vs main
/git:release-report release/v27.0.0 main
# Avec nom custom
/git:release-report release/v27.0.0 develop v27.0.0
# Feature vs main
/git:release-report feature/new-module main "Module XYZ"
# Sans arguments (mode interactif)
/git:release-reportContenu du rapport :
- Statistiques globales (fichiers, lignes, commits)
- Répartition par type de fichier (PHP, Twig, JS, etc.)
- Fonctionnalités principales extraites depuis commits
- Impact métier par domaine fonctionnel
- Qualité et maintenabilité
- KPI visuels orientés Product Owner
Sortie :
REPORT_PATH/impact_<nom-release>.htmlFormat :
- HTML auto-suffisant avec CSS inline
- Design moderne (gradient violet)
- KPI avec couleurs par impact
- Charts et progress bars
- Responsive et imprimable
/git:pr
Crée une Pull Request optimisée avec workflow structuré.
Arguments :
/git:pr [branch-base] [milestone] [project] [--cd | --no-cd] [--no-interaction] [--delete] [--no-review]Features :
- Détection automatique mode Standard vs CD
- QA complète avant création (PHPStan, tests, linting)
- Vérification branche à jour avec origin
- Templates PR adaptés
/git:gen-release-notes
🔹 Skill disponible : gen-release-notes
Génère des notes de release HTML orientées utilisateurs finaux (sans jargon technique).
Arguments :
/git:gen-release-notes <branche-source> <branche-cible> [nom-release]Note : Si les arguments obligatoires ne sont pas fournis, la commande les demandera interactivement.
Exemples :
# Notes de release
/git:gen-release-notes release/v27.0.0 main
# Avec nom personnalisé
/git:gen-release-notes release/v27.0.0 develop "Version 27"Différence avec /git:release-report :
| Aspect | release-report | gen-release-notes |
|---|---|---|
| Public cible | Équipe technique / PO | Utilisateurs finaux |
| Langage | Technique (KPI, stats) | Simple, accessible |
| Contenu | Fichiers, lignes, % | Nouveautés, corrections |
| Focus | Impact code | Bénéfice utilisateur |
Catégories :
- Nouveautés - Nouvelles fonctionnalités
- Améliorations - Optimisations UX/performance
- Corrections - Bugs résolus
- Sécurité - Si applicable
Sortie :
REPORT_PATH/release_notes_<nom-release>.htmlFormat :
- HTML responsive (mobile-friendly)
- Design moderne et accessible
- Peut être envoyé par email
- Aucune info technique sensible
/git:pr
Crée une Pull Request optimisée avec workflow structuré.
Arguments :
/git:pr [branch-base] [milestone] [project] [--delete] [--no-review] [--no-interaction]Exemples :
# PR simple
/git:pr
# PR vers branche spécifique
/git:pr develop
# PR avec milestone
/git:pr main "v1.2.0"
# PR sans demander review
/git:pr --no-review
# PR avec suppression branche après merge
/git:pr --delete
# PR automatisée (depuis config .env.claude)
/git:pr --no-interactionConfiguration Automation (.env.claude) :
Pour automatiser la création de PR sans interaction :
# .env.claude
MAIN_BRANCH=main
REPO=atournayre/claude-marketplace
PROJECT=Comportement avec --no-interaction :
- Charge automatiquement
MAIN_BRANCH,REPO,PROJECTdepuis.env.claude - Utilise les arguments fournis en ligne de commande (priorité haute)
- Ignore les demandes interactives (confirmations, choix)
- Essentiiel pour workflows entièrement automatisés (ex:
/dev:auto:feature)
Prérequis :
- Branche avec commits
- Repository GitHub configuré
ghCLI installé
Workflow :
- Analyse tous les commits de la branche
- Génère titre PR depuis commits
- Crée description structurée :
- Summary (bullet points)
- Test plan (checklist)
- Footer Claude Code
- Push branche si nécessaire
- Crée PR via
gh - Retourne URL de la PR
Template PR :
## Summary
- Changement 1
- Changement 2
## Test plan
- [ ] Tests unitaires passent
- [ ] Tests d'intégration OK
- [ ] Testé manuellement
🤖 Generated with Claude CodeScripts Utilitaires
skills/git-pr-core/scripts/smart_qa.sh
Script de validation QA avant création de Pull Request. Détection automatique des outils disponibles.
Features :
- Détection auto des outils QA (PHPStan, PHPUnit, PHP-CS-Fixer)
- Fallbacks multiples : make → vendor/bin → composer
- Pas d'échec si outil manque (feedback clair sur exécution)
- Réutilisable par n'importe quelle skill
Usage :
bash git/skills/git-pr-core/scripts/smart_qa.shExemple de sortie :
🔍 Exécution QA complète avant création PR...
▶️ PHPStan (via vendor/bin)...
✅ PHPStan OK
▶️ Tests (via PHPUnit)...
✅ Tests OK
⚠️ Lint non détecté, ignoré
✅ QA passée avec succèsscripts/commit-emoji.sh
Script centralisé pour le mapping type → emoji. Source de vérité unique utilisée par les autres scripts.
Usage :
# Sourcer pour utiliser la fonction
source scripts/commit-emoji.sh
emoji=$(get_commit_emoji "feat") # ✨
# Ou appel direct
./scripts/commit-emoji.sh feat # ✨Types supportés :
| Type | Emoji | Description |
|---|---|---|
feat | ✨ | Nouvelle fonctionnalité |
fix | 🐛 | Correction de bug |
docs | 📝 | Documentation |
style | 💄 | Formatage/style |
refactor | ♻️ | Refactorisation |
perf | ⚡️ | Performance |
test | ✅ | Tests |
build | 📦️ | Build |
ci | 🚀 | CI/CD |
chore | 🔧 | Maintenance |
revert | ⏪️ | Annulation |
wip | 🚧 | Travail en cours |
hotfix | 🚑️ | Hotfix critique |
security | 🔒️ | Sécurité |
deps | ➕ | Dépendances |
breaking | 💥 | Breaking change |
Skills Disponibles
gen-release-notes
Localisation : skills/gen-release-notes/
Skill spécialisé pour générer des notes de release orientées utilisateurs finaux.
Fonctionnalités :
- Transformation commits techniques → descriptions accessibles
- Catégorisation automatique (Nouveautés, Améliorations, Corrections, Sécurité)
- Filtrage des commits internes (tests, CI, refactoring)
- Génération HTML responsive avec CSS inline
- Demande interactive des arguments manquants
Règles de rédaction :
- Zéro jargon technique
- Bénéfice utilisateur en premier
- Ton positif et professionnel
- Phrases courtes (1-2 max)
Modèle : sonnet
Outils : Bash, Read, Write, Grep, Glob, AskUserQuestion
Intégration Plugin Review
Le skill /git:pr utilise les agents du plugin review pour la code review automatique.
Si le plugin review est installé, 4 agents sont invoqués en parallèle :
code-reviewer- Conformité CLAUDE.md, bugs, qualitésilent-failure-hunter- Erreurs silencieuses, catch videstest-analyzer- Couverture PHPUnit, tests manquantsgit-history-reviewer- Contexte historique git
Installation :
/plugin install review@atournayreWorkflow Complet
Feature Standard
# 1. Créer branche
/git:branch main 123
# 2. Coder...
# 3. Commit
/git:commit "feat: implement feature"
# 4. Pull Request
/git:prHotfix avec Conflit
# 1. Créer branche hotfix
/git:branch main "fix critical bug"
# 2. Fix et commit
/git:commit "fix: resolve critical issue"
# 3. Si conflit lors du merge
/git:conflit main
# 4. PR
/git:prConfiguration Recommandée
.claude/settings.json :
{
"git": {
"conventional_commits": true,
"emoji": true,
"auto_push": false,
"default_branch": "main"
}
}Licence
MIT