gitworktree
Création de worktree Git avec workflow structuré
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Création de worktree Git avec workflow structuré
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Automatise les mises à jour de version des plugins avec détection automatique du type de version
Skill interne fournissant les scripts communs pour la création de branches. Ne pas appeler directement - utilisé par git:branch et git:worktree.
Création de branche Git avec workflow structuré
Crée une Pull Request en mode Continuous Delivery avec workflow complet : QA, labels version (major/minor/patch), feature flags, code review automatique.
Skill interne fournissant les scripts communs pour la création de Pull Requests. Ne pas appeler directement - utilisé par git-pr et git-cd-pr.
Orchestre une équipe d'agents spécialisés pour les tâches complexes. Auto-détecte le type, compose l'équipe, coordonne les phases analyse → challenge → implémentation → QA.
| name | git:worktree |
| description | Création de worktree Git avec workflow structuré |
IMPORTANT : Cette skill effectue une opération Git rapide et nécessite un format de sortie spécifique.
Lis le frontmatter de cette skill. Si un champ output-style est présent, exécute immédiatement :
/output-style <valeur-du-champ>
Note : Une fois que le champ output-style sera supporté nativement par Claude Code, cette instruction pourra être supprimée.
Créer un nouveau worktree Git de manière structurée avec support des issues GitHub.
Un worktree permet de travailler sur plusieurs branches en parallèle sans avoir à stash/commit. Chaque worktree est un répertoire séparé lié au même dépôt Git.
Le répertoire de base des worktrees est défini dans le .env.claude du projet utilisateur via la variable WORKTREE_DIR.
La convention de nommage du répertoire worktree est de remplacer les / du nom de branche par des -.
Exemple : branche feature/ma-fonctionnalite → répertoire feature-ma-fonctionnalite
CORE_SCRIPTS="${CLAUDE_PLUGIN_ROOT}/skills/branch-core/scripts"
IMPORTANT : Exécute ce workflow étape par étape :
.env.claude à la racine du projet courant (pas celui du plugin, celui du projet utilisateur)WORKTREE_DIR (répertoire de base des worktrees)MAIN_BRANCH (fallback pour SOURCE_BRANCH)WORKTREE_DIR n'est pas défini ou est vide, utilise AskUserQuestion pour demander :
Question: "La variable WORKTREE_DIR n'est pas définie dans .env.claude. Quel répertoire utiliser pour les worktrees ?"
Options: ["../worktrees", ".worktrees", "Autre"]
Logique de désambiguisation selon le nombre d'arguments :
2 arguments fournis :
1 argument fourni :
MAIN_BRANCH de .env.claudegit branch --list "$ARG" non vide) → SOURCE_BRANCH, ISSUE_OR_TEXT non fourni (sera demandé à l'utilisateur)MAIN_BRANCH de .env.claude0 argument :
MAIN_BRANCH de .env.claudeSi SOURCE_BRANCH n'est toujours pas résolu (MAIN_BRANCH absent de .env.claude et pas fourni en argument) :
Question: "Depuis quelle branche veux-tu créer le nouveau worktree ?"
Options: ["main", "master", "develop", "Autre"]
bash "$CORE_SCRIPTS/validate-source-branch.sh" "$SOURCE_BRANCH"
git fetch origin $SOURCE_BRANCH avec Bashfetch au lieu de checkout + pull car on ne veut pas changer la branche courante du worktree principalSi ISSUE_OR_TEXT est fourni :
eval "$(bash "$CORE_SCRIPTS/resolve-branch-name.sh" "$ISSUE_OR_TEXT")"
echo "BRANCH_NAME=$BRANCH_NAME"
echo "PREFIX=$PREFIX"
echo "PREFIX_SOURCE=$PREFIX_SOURCE"
echo "WORKTREE_DIRNAME=$WORKTREE_DIRNAME"
BRANCH_NAME, PREFIX, PREFIX_SOURCE, ISSUE_NUMBER, WORKTREE_DIRNAME sont disponiblesSi ISSUE_OR_TEXT n'est pas fourni :
bash "$CORE_SCRIPTS/check-branch-exists.sh" "$BRANCH_NAME"
$WORKTREE_DIR/$WORKTREE_DIRNAME
/home/user/worktrees/feature-42-login-fixtest -d "$WORKTREE_PATH" via Bash❌ ERREUR : Le répertoire worktree '$WORKTREE_PATH' existe déjà
Supprime-le d'abord ou choisis un autre nom
git worktree add "$WORKTREE_PATH" -b "$BRANCH_NAME" "origin/$SOURCE_BRANCH" avec BashAffiche :
✅ Worktree créé : $BRANCH_NAME
📁 Répertoire : $WORKTREE_PATH
📝 Préfixe détecté : $PREFIX (source: $PREFIX_SOURCE)
📍 Depuis : $SOURCE_BRANCH
{Si issue} 🔗 Issue associée : #$ISSUE_NUMBER
Pour travailler dans ce worktree :
cd $WORKTREE_PATH
📝 Le tracking sera configuré automatiquement au premier push avec :
git push -u origin $BRANCH_NAME
⚠️ IMPORTANT - NE PAS configurer de tracking automatiquement :
git branch --set-upstream-to=origin/$SOURCE_BRANCH $BRANCH_NAME-uConventions de nommage des branches (préfixe détecté automatiquement) :
feature/{numéro}-{description} : Nouvelles fonctionnalitésfix/{numéro}-{description} : Corrections de bugshotfix/{numéro}-{description} : Corrections urgentes en productionchore/{numéro}-{description} : Maintenance, refactoringdocs/{numéro}-{description} : Documentationtest/{numéro}-{description} : TestsDétection automatique du préfixe (par priorité) :
feature/ si aucun indicateur trouvéConvention de nommage du répertoire worktree :
/ par - dans le nom de branchefeature/ma-fonctionnalite → feature-ma-fonctionnalitefix/42-login-bug → fix-42-login-bughotfix/critical-payment → hotfix-critical-payment# Exemple 1 : Issue seule (SOURCE_BRANCH = MAIN_BRANCH de .env.claude)
/git:worktree 42
# → Résolution via branch-core : fix/42-login-form-crashes-on-submit
# → Worktree dans: $WORKTREE_DIR/fix-42-login-form-crashes-on-submit
# Exemple 2 : Issue avec branche source explicite
/git:worktree develop 42
# → Résolution via branch-core : fix/42-login-form-crashes-on-submit (depuis develop)
# → Worktree dans: $WORKTREE_DIR/fix-42-login-form-crashes-on-submit
# Exemple 3 : Texte descriptif seul (SOURCE_BRANCH = MAIN_BRANCH de .env.claude)
/git:worktree "fix login validation"
# → Résolution via branch-core : fix/login-validation
# → Worktree dans: $WORKTREE_DIR/fix-login-validation
# Exemple 4 : Texte descriptif avec branche source
/git:worktree main "Add OAuth support"
# → Résolution via branch-core : feature/add-oauth-support
# → Worktree dans: $WORKTREE_DIR/feature-add-oauth-support
# Exemple 5 : Sans argument (SOURCE_BRANCH = MAIN_BRANCH, demande issue/texte)
/git:worktree
# Créer un worktree avec issue (source = MAIN_BRANCH de .env.claude)
/git:worktree 123
# Créer un worktree avec texte descriptif (source = MAIN_BRANCH)
/git:worktree "user authentication"
# Créer un worktree depuis une branche source explicite avec issue
/git:worktree develop 123
# Créer un worktree fix avec texte explicite (source = MAIN_BRANCH)
/git:worktree "fix login bug"
# Créer un worktree hotfix (source = MAIN_BRANCH)
/git:worktree "hotfix critical payment issue"
# Créer un worktree depuis develop (demande issue/texte)
/git:worktree develop
# Créer un worktree depuis une branche existante avec issue
/git:worktree feature/api-base 456
cd pour accéder au worktreegit push -u origin $BRANCH_NAMEWORKTREE_DIR doit être défini dans .env.claude (ou demandé à l'utilisateur)WORKTREE_DIR doit existerSOURCE_BRANCH doit exister localementSOURCE_BRANCH optionnel (défaut: MAIN_BRANCH de .env.claude)ISSUE_OR_TEXT est un numéro, l'issue doit exister sur GitHubDifférence avec git:branch :
git:branch fait checkout SOURCE_BRANCH puis pull car il crée la branche depuis le HEAD courantgit:worktree fait fetch car git worktree add -b BRANCH "origin/SOURCE_BRANCH" crée directement depuis la ref distanteAvantage :