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
Fixesferme le problème lors de la fusionRefscré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