Vers les issues
Décomposer un plan en issues GitHub indépendamment traitables en utilisant des tranches verticales (tracer bullets).
Processus
1. Rassembler le contexte
Travailler à partir de ce qui est déjà dans le contexte de conversation. Si l'utilisateur passe un numéro ou une URL d'issue GitHub en argument, le récupérer avec gh issue view <number> (avec les commentaires).
2. Explorer la base de code (optionnel)
Si vous n'avez pas déjà exploré la base de code, le faire pour comprendre l'état actuel du code.
3. Élaborer les tranches verticales
Décomposer le plan en issues de type tracer bullet. Chaque issue est une fine tranche verticale qui traverse TOUTES les couches d'intégration de bout en bout, PAS une tranche horizontale d'une seule couche.
Les tranches peuvent être « HITL » ou « AFK ». Les tranches HITL nécessitent une interaction humaine, comme une décision architecturale ou un examen de conception. Les tranches AFK peuvent être implémentées et fusionnées sans interaction humaine. Préférer AFK à HITL quand c'est possible.
<vertical-slice-rules>
- Chaque tranche livre un chemin étroit mais COMPLET à travers chaque couche (schéma, API, UI, tests)
- Une tranche terminée est démontrable ou vérifiable en elle-même
- Préférer de nombreuses tranches fines à quelques tranches épaisses </vertical-slice-rules>
4. Consulter l'utilisateur
Présenter la décomposition proposée sous forme de liste numérotée. Pour chaque tranche, afficher :
- Titre : nom descriptif court
- Type : HITL / AFK
- Bloquée par : quelles autres tranches (le cas échéant) doivent être terminées en premier
- User stories couvertes : quelles user stories cela adresse (si le matériau source en contient)
Demander à l'utilisateur :
- La granularité semble-t-elle juste ? (trop grossière / trop fine)
- Les relations de dépendance sont-elles correctes ?
- Certaines tranches devraient-elles être fusionnées ou divisées davantage ?
- Les bonnes tranches sont-elles marquées comme HITL et AFK ?
Itérer jusqu'à l'approbation de la décomposition par l'utilisateur.
5. Créer les issues GitHub
Pour chaque tranche approuvée, créer une issue GitHub en utilisant gh issue create. Utiliser le modèle de corps d'issue ci-dessous.
Créer les issues dans l'ordre des dépendances (les bloqueurs en premier) afin de pouvoir référencer les numéros d'issue réels dans le champ « Bloquée par ».
<issue-template>
Parent
<parent-issue-number> (si la source était une issue GitHub, sinon omettre cette section)
À construire
Une description concise de cette tranche verticale. Décrire le comportement de bout en bout, pas l'implémentation couche par couche.
Critères d'acceptation
- [ ] Critère 1
- [ ] Critère 2
- [ ] Critère 3
Bloquée par
- Bloquée par #<issue-number> (le cas échéant)
Ou « Aucun - peut démarrer immédiatement » s'il n'y a pas de bloqueurs.
</issue-template>
Ne pas fermer ni modifier aucune issue parent.