commit

--- TOUJOURS utiliser cette compétence lors de la validation des modifications de code — ne jamais valider directement sans elle. Crée des commits suivant les conventions Sentry avec un format conventional commit approprié et des références de problèmes. Déclencher sur n'importe quel commit, git commit, enregistrer les modifications, ou tâche de message de commit.

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

Messages de commit Sentry

Suivez ces conventions lors de la création de commits pour les projets Sentry.

Prérequis

Avant de faire un commit, vérifiez toujours la branche actuelle :

git branch --show-current

Si vous êtes sur main ou master, vous DEVEZ d'abord créer une branche de fonctionnalité — sauf si l'utilisateur a explicitement demandé de commiter sur main. Ne demandez pas à l'utilisateur s'il faut créer une branche ; procédez simplement à la création de la branche, puis re-vérifiez la branche actuelle avant de commiter. Si vous êtes toujours sur main ou master, arrêtez — ne commitez pas.

Format

<type>(<scope>): <subject>

<body>

<footer>

L'en-tête est obligatoire. Le scope est optionnel. Toutes les lignes doivent rester sous 100 caractères.

Types de commit

Type Objectif
feat Nouvelle fonctionnalité
fix Correction de bug
ref Refactorisation (pas de changement de comportement)
perf Amélioration de performance
docs Documentation uniquement
test Ajouts ou corrections de tests
build Système de build ou dépendances
ci Configuration CI
chore Tâches de maintenance
style Formatage du code (pas de changement logique)
meta Métadonnées du référentiel
license Changements de licence

Règles de la ligne d'objet

  • Utilisez l'impératif, présent : « Add feature » et non « Added feature »
  • Mettez en majuscule la première lettre
  • Pas de point à la fin
  • Maximum 70 caractères

Recommandations pour le corps

  • Expliquez quoi et pourquoi, pas comment
  • Utilisez l'impératif et le présent
  • Incluez la motivation du changement
  • Contrastez avec le comportement précédent si approprié
  • Utilisez de vrais sauts de ligne dans les corps de commit ; ne incluez jamais de séquences littérales \n
  • Ne incluez jamais de données clients — noms de client/org, emails d'utilisateurs, contenus de tickets de support ou données personnelles. Décrivez le symptôme technique, non pas qui l'a rencontré, et si disponible, référencez le ticket interne (p. ex. Fixes SENTRY-1234).

Hygiène des commandes de commit

Lors de la création de commits depuis la CLI, n'intégrez pas de sauts de ligne échappés comme \n à l'intérieur de chaînes -m. Cela produit des caractères de barre oblique inverse littéraux dans le message de commit final.

Privilégiez l'un de ces modèles :

git commit -m "type(scope): Subject" \
  -m "First paragraph with real line wrapping.

Second paragraph.

Fixes GH-1234
Co-Authored-By: (the agent's name and attribution byline)"
git commit

Utilisez le flux d'éditeur quand le message nécessite un formatage soigné.

Footer : Références de problèmes

Référencez les problèmes dans le footer en utilisant ces modèles :

Fixes GH-1234
Fixes #1234
Fixes SENTRY-1234
Refs LINEAR-ABC-123
  • Fixes ferme le problème lors de la fusion
  • Refs crée un lien sans fermer

Changements générés par l'IA

Lorsque les changements ont été principalement générés par un agent de codage, incluez l'attribution Co-Authored-By dans le footer du commit. Les agents doivent utiliser leur propre identité :

Co-Authored-By: (the agent's name and attribution byline)

Exemple : Co-Authored-By: Claude Sonnet 4 <noreply@example.com>

C'est le seul indicateur d'implication de l'IA qui devrait apparaître dans les commits. N'ajoutez pas de phrases comme « Generated by AI », « Written with Claude », ou des marqueurs similaires dans l'objet, le corps, ou ailleurs dans le message de commit.

Exemples

Correction simple

fix(api): Handle null response in user endpoint

The user API could return null for deleted accounts, causing a crash
in the dashboard. Add null check before accessing user properties.

Fixes SENTRY-5678
Co-Authored-By: (the agent's name and attribution byline)

Fonctionnalité avec scope

feat(alerts): Add Slack thread replies for alert updates

When an alert is updated or resolved, post a reply to the original
Slack thread instead of creating a new message. This keeps related
notifications grouped together.

Refs GH-1234

Refactorisation

ref: Extract common validation logic to shared module

Move duplicate validation code from three endpoints into a shared
validator class. No behavior change.

Changement de rupture

feat(api)!: Remove deprecated v1 endpoints

Remove all v1 API endpoints that were deprecated in version 23.1.
Clients should migrate to v2 endpoints.

BREAKING CHANGE: v1 endpoints no longer available
Fixes SENTRY-9999

Format de revert

revert: feat(api): Add new endpoint

This reverts commit abc123def456.

Reason: Caused performance regression in production.

Principes

  • Chaque commit doit être un changement unique et stable
  • Les commits doivent être indépendamment révisables
  • Le référentiel doit être dans un état fonctionnel après chaque commit

Références