Dev Story
Objectif
Implementer une story selon un workflow rigoureux en 10 etapes, avec tracking du temps, retour d'experience et mise a jour du sprint-status.yaml.
Modes d'execution
| Mode |
Declencheur |
Description |
| Story specifique |
--story <id> |
Implementer une story par son ID |
| Prochaine auto |
--next |
Prendre la prochaine story disponible (todo, dependances resolues) |
| Batch |
--batch <id1,id2,...> |
Implementer plusieurs stories sequentiellement |
| Parallel |
--parallel <id1,id2,...> |
Lancer des agents workers en parallele |
| Epic filtre |
--epic <slug> |
Toutes les stories d'un epic, sequentiellement |
| All epic |
--all-epic <slug> |
Toutes les stories d'un epic, en parallele si possible |
Pre-requis
- Un sprint genere par
sprint-planner avec sprint-status.yaml
- La story cible doit avoir le statut
todo
- Les dependances de la story doivent avoir le statut
done
Workflow en 10 etapes
Etape 1 : Pre-flight
- Lire
sprint-status.yaml
- Verifier que la story existe et est
todo
- Verifier que les dependances sont
done
- Mettre le statut a
in_progress et enregistrer started_at
- Lire le fichier story pour les specs detaillees
Etape 2 : Scan contextuel et adaptive context loading
- Lire les fichiers cibles listes dans la story
- Scanner le code environnant pour comprendre le contexte
- Adaptive context loading : Identifier le stack concerne par la story, puis charger UNIQUEMENT les docs evan-workflow pertinentes :
- Lire
~/evan-workflow/common/manifest.yaml et charger les fichiers des scopes always + scopes pertinents au projet (frontend, backend)
~/evan-workflow/technos/{stack}/patterns/{pattern}.md references dans la story
- Ne PAS charger tout le dossier technos, seulement ce qui est necessaire
- Identifier les impacts potentiels sur d'autres fichiers
Etape 3 : Checkpoint git
- Creer un checkpoint git avant toute modification :
git stash # si des changements en cours
- S'assurer que le working tree est propre
- Cela permet un rollback facile si l'implementation echoue
Etape 4 : Implementation
- Implementer selon les specs de la story
- Respecter les patterns charges a l'etape 2
- Suivre les conventions evan-workflow chargees via le manifeste (scope
always + scopes du projet)
- Suivre les regles de style de
~/evan-workflow/technos/{stack}/code-style.md
- Creer/modifier uniquement les fichiers listes dans la story (sauf si un impact cascade l'exige)
Etape 5 : Verification impact cascade
- Verifier que les modifications ne cassent pas d'autres parties du code
- Chercher les references aux fichiers modifies
- Verifier les imports, les types, les interfaces
- Si un impact est detecte, corriger ou documenter
Etape 6 : Tests
- Ecrire les tests listes dans la story
- Executer les tests unitaires concernes
- Verifier que les tests existants passent encore
- Si des tests echouent, corriger l'implementation
Etape 7 : Documentation update
- Si la story impacte une documentation existante, la mettre a jour
- Appeler
feature-doc --update si necessaire (mode depuis dev-story)
- Mettre a jour les commentaires de code si pertinent
Etape 8 : Retour d'experience
- Enregistrer dans sprint-status.yaml pour cette story :
difficulty : easy | medium | hard | extreme
lessons_learned : Ce qui a ete appris, les pieges rencontres
duration_minutes : Temps reel d'implementation
- Si la taille estimee etait incorrecte, le noter
Etape 9 : Commit
- Creer un commit atomique avec un message clair :
feat({scope}): {description courte}
Story {id}: {titre de la story}
- {changement 1}
- {changement 2}
- Suivre les conventions du scope
commit du manifeste evan-workflow (~/evan-workflow/common/git-conventions.md)
- Un commit par story (sauf si la story est decoupee en sous-taches logiques)
Etape 10 : Status update et proposition next
- Mettre le statut a
done dans sprint-status.yaml
- Enregistrer
completed_at
- Recalculer les compteurs
summary
- Identifier la prochaine story disponible
- Afficher un resume :
Story {id} terminee : {titre}
Duree : {N} minutes | Difficulte : {level}
Lecons : {resume}
Sprint progress : [========> ] 40% (8/20)
Prochaine story : {id} - {titre} ({taille})
Mode parallel
Fonctionnement
- Identifier les stories sans dependances mutuelles
- Pour chaque story, creer une instruction worker avec :
- Le contexte complet de la story
- Les fichiers a modifier (SANS conflit avec les autres workers)
- Les patterns evan-workflow a respecter
- Chaque worker suit le workflow complet (etapes 1-10)
- Fresh context : Chaque agent worker demarre avec un contexte propre, sans pollution des stories precedentes
- Consolider les resultats dans sprint-status.yaml
Regles du mode parallel
- Deux stories ne peuvent PAS modifier le meme fichier en parallele
- Si un conflit de fichier est detecte, la story est mise en attente
- Le sprint-status.yaml est mis a jour de maniere atomique apres chaque worker
Mode batch
Execution sequentielle des stories listees :
- Pour chaque story dans l'ordre donne
- Executer le workflow complet
- Si une story echoue, proposer : continuer | arreter | skip
Mode epic
- Lister toutes les stories de l'epic
- Trier par dependances
- Executer sequentiellement (--epic) ou en parallele quand possible (--all-epic)
Gestion des erreurs
| Situation |
Action |
| Dependance non resolue |
Bloquer la story, suggerer l'ordre correct |
| Test echoue |
Tenter de corriger, sinon marquer blocked |
| Conflit de fichier (parallel) |
Mettre en attente, traiter sequentiellement |
| Story trop complexe |
Suggerer un redecoupe, marquer blocked |
| Implementation echouee |
Rollback via checkpoint git, marquer blocked |
Sortie attendue
Pour chaque story terminee :
- Resume de l'implementation
- Fichiers crees/modifies
- Tests passes
- Retour d'experience
- Proposition de prochaine story
1---2name: dev-story-33description: Implementation de stories avec workflow en 10 etapes, modes batch/parallel/epic, tracking et retour d'experience4---5
6# Dev Story
7
8## Objectif
9
10Implementer une story selon un workflow rigoureux en 10 etapes, avec tracking du temps, retour d'experience et mise a jour du sprint-status.yaml.
11
12## Modes d'execution
13
14| Mode | Declencheur | Description |
15|------|------------|-------------|
16| Story specifique | `--story <id>` | Implementer une story par son ID |
17| Prochaine auto | `--next` | Prendre la prochaine story disponible (todo, dependances resolues) |
18| Batch | `--batch <id1,id2,...>` | Implementer plusieurs stories sequentiellement |
19| Parallel | `--parallel <id1,id2,...>` | Lancer des agents workers en parallele |
20| Epic filtre | `--epic <slug>` | Toutes les stories d'un epic, sequentiellement |
21| All epic | `--all-epic <slug>` | Toutes les stories d'un epic, en parallele si possible |
22
23## Pre-requis
24
25- Un sprint genere par `sprint-planner` avec `sprint-status.yaml`
26- La story cible doit avoir le statut `todo`
27- Les dependances de la story doivent avoir le statut `done`
28
29## Workflow en 10 etapes
30
31### Etape 1 : Pre-flight
32
331. Lire `sprint-status.yaml`
342. Verifier que la story existe et est `todo`
353. Verifier que les dependances sont `done`
364. Mettre le statut a `in_progress` et enregistrer `started_at`
375. Lire le fichier story pour les specs detaillees
38
39### Etape 2 : Scan contextuel et adaptive context loading
40
411. Lire les fichiers cibles listes dans la story
422. Scanner le code environnant pour comprendre le contexte
433. **Adaptive context loading** : Identifier le stack concerne par la story, puis charger UNIQUEMENT les docs evan-workflow pertinentes :
44 - Lire `~/evan-workflow/common/manifest.yaml` et charger les fichiers des scopes `always` + scopes pertinents au projet (frontend, backend)
45 - `~/evan-workflow/technos/{stack}/patterns/{pattern}.md` references dans la story
46 - Ne PAS charger tout le dossier technos, seulement ce qui est necessaire
474. Identifier les impacts potentiels sur d'autres fichiers
48
49### Etape 3 : Checkpoint git
50
511. **Creer un checkpoint git** avant toute modification :
52 ```
53 git stash # si des changements en cours
54 ```
552. S'assurer que le working tree est propre
563. Cela permet un rollback facile si l'implementation echoue
57
58### Etape 4 : Implementation
59
601. Implementer selon les specs de la story
612. Respecter les patterns charges a l'etape 2
623. Suivre les conventions evan-workflow chargees via le manifeste (scope `always` + scopes du projet)
634. Suivre les regles de style de `~/evan-workflow/technos/{stack}/code-style.md`
645. Creer/modifier uniquement les fichiers listes dans la story (sauf si un impact cascade l'exige)
65
66### Etape 5 : Verification impact cascade
67
681. Verifier que les modifications ne cassent pas d'autres parties du code
692. Chercher les references aux fichiers modifies
703. Verifier les imports, les types, les interfaces
714. Si un impact est detecte, corriger ou documenter
72
73### Etape 6 : Tests
74
751. Ecrire les tests listes dans la story
762. Executer les tests unitaires concernes
773. Verifier que les tests existants passent encore
784. Si des tests echouent, corriger l'implementation
79
80### Etape 7 : Documentation update
81
821. Si la story impacte une documentation existante, la mettre a jour
832. Appeler `feature-doc --update` si necessaire (mode depuis dev-story)
843. Mettre a jour les commentaires de code si pertinent
85
86### Etape 8 : Retour d'experience
87
881. Enregistrer dans sprint-status.yaml pour cette story :
89 - `difficulty` : easy | medium | hard | extreme
90 - `lessons_learned` : Ce qui a ete appris, les pieges rencontres
91 - `duration_minutes` : Temps reel d'implementation
922. Si la taille estimee etait incorrecte, le noter
93
94### Etape 9 : Commit
95
961. Creer un commit atomique avec un message clair :
97 ```
98 feat({scope}): {description courte}
99
100 Story {id}: {titre de la story}
101
102 - {changement 1}
103 - {changement 2}
104 ```
1052. Suivre les conventions du scope `commit` du manifeste evan-workflow (`~/evan-workflow/common/git-conventions.md`)
1063. Un commit par story (sauf si la story est decoupee en sous-taches logiques)
107
108### Etape 10 : Status update et proposition next
109
1101. Mettre le statut a `done` dans `sprint-status.yaml`
1112. Enregistrer `completed_at`
1123. Recalculer les compteurs `summary`
1134. Identifier la prochaine story disponible
1145. Afficher un resume :
115
116```
117Story {id} terminee : {titre}
118Duree : {N} minutes | Difficulte : {level}
119Lecons : {resume}
120
121Sprint progress : [========> ] 40% (8/20)
122Prochaine story : {id} - {titre} ({taille})
123```
124
125## Mode parallel
126
127### Fonctionnement
128
1291. Identifier les stories sans dependances mutuelles
1302. Pour chaque story, creer une instruction worker avec :
131 - Le contexte complet de la story
132 - Les fichiers a modifier (SANS conflit avec les autres workers)
133 - Les patterns evan-workflow a respecter
1343. Chaque worker suit le workflow complet (etapes 1-10)
1354. **Fresh context** : Chaque agent worker demarre avec un contexte propre, sans pollution des stories precedentes
1365. Consolider les resultats dans sprint-status.yaml
137
138### Regles du mode parallel
139
140- Deux stories ne peuvent PAS modifier le meme fichier en parallele
141- Si un conflit de fichier est detecte, la story est mise en attente
142- Le sprint-status.yaml est mis a jour de maniere atomique apres chaque worker
143
144## Mode batch
145
146Execution sequentielle des stories listees :
1471. Pour chaque story dans l'ordre donne
1482. Executer le workflow complet
1493. Si une story echoue, proposer : continuer | arreter | skip
150
151## Mode epic
152
1531. Lister toutes les stories de l'epic
1542. Trier par dependances
1553. Executer sequentiellement (--epic) ou en parallele quand possible (--all-epic)
156
157## Gestion des erreurs
158
159| Situation | Action |
160|-----------|--------|
161| Dependance non resolue | Bloquer la story, suggerer l'ordre correct |
162| Test echoue | Tenter de corriger, sinon marquer `blocked` |
163| Conflit de fichier (parallel) | Mettre en attente, traiter sequentiellement |
164| Story trop complexe | Suggerer un redecoupe, marquer `blocked` |
165| Implementation echouee | Rollback via checkpoint git, marquer `blocked` |
166
167## Sortie attendue
168
169Pour chaque story terminee :
170- Resume de l'implementation
171- Fichiers crees/modifies
172- Tests passes
173- Retour d'experience
174- Proposition de prochaine story