create-branch

Crée une branche git en suivant les conventions de nommage de Sentry. À utiliser lorsqu'on te demande de « créer une branche », « nouvelle branche », « démarrer une branche », « faire une branche », « basculer sur une nouvelle branche », ou lors du démarrage d'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 de 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
    • Puis git config github.user
    • Puis la partie locale de git config user.email
    • Puis 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 changements locaux, dériver une courte description du diff
    • S'il n'y a pas de changements locaux, 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 Comportement cassé qui fonctionne maintenant
ref Comportement identique, structure change
chore Maintenance de l'outillage/config existant
perf Même comportement, plus rapide
style Visuel ou formatage uniquement
docs Documentation uniquement
test Tests uniquement
ci Config CI/CD
build Système de build
meta Métadonnées du repository
license Changements de licence

En cas de doute : utiliser feat pour les nouveautés, ref pour la restructuration, chore pour la maintenance.

  1. Générer <prefix>/<type>/<short-description>. Maintenir <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 branche par défaut échoue, se rabattre sur main, puis master, puis la branche actuelle
    • Si on est sur un HEAD détaché, brancher à partir du commit actuel
    • Si déjà sur une branche non-par défaut, brancher à partir de 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 une confirmation.

Références

Skills similaires