create-branch

--- Créer une branche git en suivant les conventions de nommage de Sentry. À utiliser lorsqu'on vous demande de « créer une branche », « nouvelle branche », « démarrer une branche », « créer une branche », « basculer vers une nouvelle branche », ou lorsque vous commencez un nouveau travail sur la branche par défaut.

npx skills add https://github.com/getsentry/skills --skill create-branch

Créer une branche

Créer une branche git en suivant les conventions de nommage Sentry. Gardez ce workflow non-interactif à moins que l'utilisateur ne demande explicitement de choisir le nom manuellement.

Workflow

  1. Résoudre le préfixe :

    • D'abord essayer gh api user --jq .login
    • Ensuite git config github.user
    • Ensuite la partie locale de git config user.email
    • Ensuite whoami
    • Nettoyer en minuscules ASCII, chiffres et tirets ; si vide, utiliser local
  2. Résoudre la description du travail :

    • Si $ARGUMENTS est présent, l'utiliser
    • Sinon inspecter :
      git diff
      git diff --cached
      git status --short
    • S'il y a des modifications locales, dériver une courte description du diff
    • S'il n'y a pas de modifications locales, utiliser une description générique comme repo-maintenance, tooling-update, ou work-in-progress
  3. Classifier le type de branche :

Type Utiliser quand
feat Nouvelle fonctionnalité
fix Le comportement cassé fonctionne maintenant
ref Le comportement reste le même, la structure change
chore Maintenance des outils/config existants
perf Même comportement, plus rapide
style Visuel ou formatage uniquement
docs Documentation uniquement
test Tests uniquement
ci Configuration CI/CD
build Système de build
meta Métadonnées du repo
license Changements de licence

En cas de doute : utiliser feat pour les nouvelles choses, ref pour la restructuration, chore pour la maintenance.

  1. Générer <prefix>/<type>/<short-description>. Garder <short-description> en kebab-case, ASCII uniquement, et idéalement 3 à 6 mots.

  2. Choisir la base sans demander :

    git branch --show-current
    git remote | grep -qx origin && echo origin || git remote | head -1
    git symbolic-ref refs/remotes/<remote>/HEAD 2>/dev/null | sed 's|refs/remotes/<remote>/||' | tr -d '[:space:]'
    • Si la détection de la branche par défaut échoue, revenir à main, puis master, puis la branche actuelle
    • Si sur une HEAD détachée, brancher depuis le commit actuel
    • Si déjà sur une branche non-par défaut, brancher depuis la branche actuelle
    • Ne basculer vers la branche par défaut que si l'utilisateur le demande explicitement
  3. Éviter les collisions en ajoutant -2, -3, et ainsi de suite jusqu'à ce que le nom soit inutilisé localement et à distance.

  4. Créer la branche :

    git checkout -b <branch-name>

    Rapporter le nom final de la branche, mais ne pas s'arrêter pour confirmation.

Références