branch
暂无简介
- License 许可
- MIT
- 最近更新
- 2026-03-02
- Stars
- ★ 0
- Forks
- 0
02 资源文件 6
- 参考文档evals/evals.json633 B
- 参考文档evals/triggers.json2.8 KB
- 参考文档references/go-tools.md3.5 KB
- 参考文档references/js-ts-tools.md3.3 KB
- 参考文档references/php-tools.md8.7 KB
- 参考文档references/python-tools.md4.7 KB
03 SKILL.md 正文
Création de branche Git
Créer une nouvelle branche Git de manière structurée avec support des issues GitHub.
Configuration
CORE_SCRIPTS="${CLAUDE_PLUGIN_ROOT}/scripts"
Variables
- SOURCE_BRANCH: Branche source (optionnel - défaut: MAIN_BRANCH de .env.claude)
- ISSUE_OR_TEXT: Numéro d'issue GitHub ou texte descriptif
Relevant Files
- @.git/config
- @.gitignore
- @.env.claude
- @docs/README.md
Instructions à Exécuter
IMPORTANT : Exécute ce workflow étape par étape :
ÉTAPE CRITIQUE : CHECKOUT VERS SOURCE D'ABORD
1. Lire la configuration depuis .env.claude
- Lis le fichier
.env.claudeà la racine du projet courant - Extrais la valeur de
MAIN_BRANCH(fallback pour SOURCE_BRANCH)
2. Parser les arguments et résoudre SOURCE_BRANCH
Logique de désambiguisation selon le nombre d'arguments :
2 arguments fournis :
- Premier argument = SOURCE_BRANCH
- Second argument = ISSUE_OR_TEXT
1 argument fourni :
- Si c'est un entier -> ISSUE_OR_TEXT (numéro d'issue), SOURCE_BRANCH =
MAIN_BRANCHde .env.claude - Si ça correspond à une branche locale existante (
git branch --list "$ARG"non vide) -> SOURCE_BRANCH, ISSUE_OR_TEXT non fourni (sera demandé à l'utilisateur) - Sinon -> ISSUE_OR_TEXT (texte descriptif), SOURCE_BRANCH =
MAIN_BRANCHde .env.claude
0 argument :
- SOURCE_BRANCH =
MAIN_BRANCHde .env.claude - ISSUE_OR_TEXT non fourni (sera demandé à l'utilisateur)
Si SOURCE_BRANCH n'est toujours pas résolu :
- Utilise AskUserQuestion pour demander :
Question: "Depuis quelle branche veux-tu créer la nouvelle branche ?" Options: ["main", "master", "develop", "Autre"]
3. Valider que SOURCE_BRANCH existe localement
- Exécute avec Bash :
bash "$CORE_SCRIPTS/validate-source-branch.sh" "$SOURCE_BRANCH" - Si le script échoue (exit 1), arrête le workflow
4. CHECKOUT VERS SOURCE_BRANCH AVANT TOUT
- Exécute
git checkout $SOURCE_BRANCHavec Bash - Exécute
git branch --show-currentpour vérifier - CRITIQUE : Cette étape garantit qu'on crée depuis un point propre
5. PULL POUR METTRE À JOUR SOURCE_BRANCH
- Exécute
git pull origin $SOURCE_BRANCHavec Bash - CRITIQUE : Garantit qu'on part du dernier commit de origin
6. Résoudre le nom de la nouvelle branche
Si ISSUE_OR_TEXT est fourni :
- Exécute avec Bash :
eval "$(bash "$CORE_SCRIPTS/resolve-branch-name.sh" "$ISSUE_OR_TEXT")" echo "BRANCH_NAME=$BRANCH_NAME" echo "PREFIX=$PREFIX" echo "PREFIX_SOURCE=$PREFIX_SOURCE" - Si le script échoue (exit 1), arrête le workflow
Si ISSUE_OR_TEXT n'est pas fourni :
- Utilise AskUserQuestion pour demander le nom de branche
7. Vérifier que la nouvelle branche n'existe pas
- Exécute avec Bash :
bash "$CORE_SCRIPTS/check-branch-exists.sh" "$BRANCH_NAME" - Si le script échoue (exit 1), arrête le workflow
8. Créer et checkout la nouvelle branche
- Exécute
git checkout -b $BRANCH_NAMEavec Bash
9. Afficher le résumé
Affiche :
Branche créée : $BRANCH_NAME
Préfixe détecté : $PREFIX (source: $PREFIX_SOURCE)
Depuis : $SOURCE_BRANCH
{Si issue} Issue associée : #$ISSUE_NUMBER
Le tracking sera configuré automatiquement au premier commit avec :
git push -u origin $BRANCH_NAME
IMPORTANT - NE PAS configurer de tracking automatiquement :
- INTERDIT :
git branch --set-upstream-to=origin/$SOURCE_BRANCH $BRANCH_NAME - Le tracking sera configuré lors du premier push avec
-u
Expertise
Conventions 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}: Tests
Détection automatique du préfixe (par priorité) :
- Labels de l'issue GitHub
- Mots-clés dans la description de l'issue
- Mots-clés dans le titre de l'issue
- Défaut :
feature/si aucun indicateur trouvé
Désambiguisation des arguments
SOURCE_BRANCH est optionnel et défaut à MAIN_BRANCH de .env.claude.
| Argument | Type détecté | SOURCE_BRANCH | ISSUE_OR_TEXT |
|---|---|---|---|
42 |
Entier | MAIN_BRANCH (.env.claude) | 42 (issue) |
develop |
Branche locale existante | develop |
Non fourni (demander) |
"fix login bug" |
Texte | MAIN_BRANCH (.env.claude) | "fix login bug" |
Examples
# Créer une branche avec issue (source = MAIN_BRANCH de .env.claude)
/devops:branch 123
# Créer une branche avec texte descriptif (source = MAIN_BRANCH)
/devops:branch "user authentication"
# Créer une branche depuis une branche source explicite avec issue
/devops:branch develop 123
# Créer une branche fix avec texte explicite (source = MAIN_BRANCH)
/devops:branch "fix login bug"
# Créer une branche depuis develop (demande issue/texte)
/devops:branch develop
Validation
- SOURCE_BRANCH doit exister localement
- SOURCE_BRANCH optionnel (défaut: MAIN_BRANCH de .env.claude)
- CHECKOUT vers SOURCE_BRANCH AVANT création (CRITIQUE)
- PULL pour mettre à jour SOURCE_BRANCH (CRITIQUE)
- La nouvelle branche ne doit pas déjà exister
- Le nom généré respecte les conventions de nommage
04 同仓库更多 Skills
twig:make-component
Génère un Twig Component Symfony UX (classe PHP + template Twig)
tester:ui-test
Teste automatiquement une interface utilisateur dans Chrome : navigation, clics, validation visuelle, tests fonctionnels, responsive, comportement et debug. Génère un rapport détaillé avec screenshots et optionnellement un GIF du parcours.
symfony:voter
Genere un Voter de securite Symfony pour le controle d'acces granulaire
symfony:message
Genere un Message Symfony Messenger avec son Handler pour traitement asynchrone
symfony:mailer
Genere un email Symfony (TemplatedEmail ou Notification) avec template Twig
symfony:form
Genere un FormType Symfony avec contraintes de validation et options