Rédiger et maintenir les issues GitHub
Standards pour les issues dans tldraw/tldraw.
Standards des titres
- Casse de phrase - Mettre en majuscule uniquement le premier mot et les noms propres
- Pas de préfixes de type - Utiliser les types d'issue GitHub, pas
Bug:,Feature:,[Bug], etc. - Mood impératif pour les améliorations - « Add padding option » au lieu de « Adding padding option »
- Descriptif pour les bugs - Décrire le symptôme : « Arrow bindings break with rotated shapes »
- Spécifique - Lisible sans ouvrir le corps de l'issue
Bons titres
Arrow bindings break with rotated shapesAdd padding option to zoomToFit methodPinch zoom resets selection on Safari
Mauvais titres
Bug: arrow bug(préfixe, vague)[Feature] Add new feature(préfixe, vague)Not working(vague)
Transformations de nettoyage des titres
- Supprimer les préfixes :
Bug: X→X - Corriger la capitalisation :
Add Padding Option→Add padding option - Utiliser l'impératif :
Adding feature X→Add feature X - Être spécifique :
Problem→[Décrire le problème réel] - Traduire les titres non-anglais en anglais
Types d'issues
À définir via l'API GraphQL GitHub après la création de l'issue (le flag --type n'est pas fiablement supporté) :
| Type | Utiliser pour |
|---|---|
Bug |
Quelque chose ne fonctionne pas comme prévu |
Feature |
Nouvelle capacité ou amélioration |
Example |
Demande d'un nouvel exemple SDK |
Task |
Tâche interne ou maintenance |
Labels
À utiliser avec parcimonie (1-2 par issue) pour les métadonnées, pas la catégorisation.
Labels courants
| Label | Utiliser pour |
|---|---|
good first issue |
Issues bien délimitées pour les nouveaux contributeurs |
More Info Needed |
Nécessite des informations supplémentaires |
sdk |
Affecte le SDK tldraw |
dotcom |
Relatif à tldraw.com |
a11y |
Accessibilité |
performance |
Amélioration de performance |
api |
Changement d'API |
Labels d'automatisation (ne pas appliquer manuellement)
keep, stale, update-snapshots, publish-packages, major, minor, skip-release, déploiement triggers
Standards du corps de l'issue
Rapports de bugs
- Description claire de ce qui ne va pas
- Étapes pour reproduire
- Comportement attendu vs comportement réel
- Détails d'environnement (navigateur, OS, version) si pertinent
- Captures d'écran/enregistrements si applicable
Demandes de fonctionnalités
- Énoncé du problème - Quel problème cela résout-il?
- Solution proposée - Comment cela devrait-il fonctionner?
- Alternatives considérées
- Cas d'usage
Demandes d'exemples
- Quel API/pattern démontrer
- Pourquoi c'est utile
- Approche suggérée
- Dans quelle catégorie d'exemple cela appartient
Workflow de triage
Nouvelles issues
- Vérifier qu'il y a suffisamment d'informations pour agir
- Définir le type d'issue approprié
- Nettoyer le titre si nécessaire
- Ajouter le label
More Info Neededet commenter si des détails manquent - Ajouter
good first issuesi approprié
Issues obsolètes
- Vérifier si encore pertinent
- Fermer si plus applicable
- Ajouter le label
keepsi doit rester ouvert - Demander des mises à jour si en attente d'informations
Important
- Ne jamais inclure d'attribution d'IA à moins que l'issue se rapporte directement à des outils d'IA
- Ne jamais utiliser la casse titre pour les descriptions - utiliser la casse de phrase