diff --git a/docs/DEVELOPMENT_PRINCIPLES.md b/docs/DEVELOPMENT_PRINCIPLES.md index 4257a81..935b6f5 100644 --- a/docs/DEVELOPMENT_PRINCIPLES.md +++ b/docs/DEVELOPMENT_PRINCIPLES.md @@ -480,3 +480,56 @@ Avant chaque session Claude Code, vérifier : |---|---|---| | 1.0 | 2026-04-17 | Création, adaptée de la version backend | | 1.1 | 2026-04-18 | Ajout Règle L — tokens du design system (Sprint 0.5) | +| 1.2 | 2026-04-21 | Ajout section 10 — Session Clean obligatoire après chaque sprint | + +--- + +## 10. Session Clean (obligatoire après chaque sprint) + +> Session séparée du sprint de dev — jamais en cours d'implémentation. + +### Déclenchement +- Le sprint est terminé +- Tous les tests automatisés sont verts +- Un commit propre existe (point de retour sûr) + +### Prompt standard à donner à Claude Code + +Lis dans l'ordre : +1. docs/ARCHITECTURE.md +2. docs/DEVELOPMENT_PRINCIPLES.md +3. docs/DESIGN_SYSTEM.md + +Sprint [X] terminé, tests au vert, commit propre effectué. +Agis comme un ingénieur senior. +Analyse uniquement les fichiers modifiés ce sprint. + +Objectif : réduire la complexité sans changer aucune fonctionnalité. + +Règles : +- 1 fichier modifié à la fois +- npm run typecheck + npm run test après chaque fichier +- Si un test échoue : annuler la modification, passer au suivant +- Ne pas toucher aux fichiers non modifiés ce sprint +- Ne pas supprimer de code sans vérifier au préalable + qu'il n'est pas référencé ailleurs dans le projet + (grep obligatoire avant toute suppression) +- Aucune décision architecturale — si un doute, + signaler et attendre + +Produis un plan (liste des fichiers à nettoyer, ordre) +et attends le GO. + +### Séquence obligatoire +1. Claude Code propose le plan (fichiers + ordre) +2. Validation dans le Project avant GO +3. Claude Code factorise — 1 fichier à la fois +4. npm run typecheck + npm run test verts après chaque fichier +5. Tests manuels Golden Dataset — groupes concernés +6. Si tout vert → commit : refactor(): nettoyage Sprint [X] +7. CHANGELOG.md mis à jour + +### Règle absolue +Un test manuel qui échoue après refactor = annuler toute +la session Clean, revenir au commit du sprint, +diagnostiquer avant de retenter. diff --git a/docs/ROADMAP.md b/docs/ROADMAP.md new file mode 100644 index 0000000..046afbb --- /dev/null +++ b/docs/ROADMAP.md @@ -0,0 +1,77 @@ +# ROADMAP.md — Expria Frontend +> Source de vérité de l'ordre d'implémentation des sprints. +> Ne pas modifier sans validation de Hermann. + +--- + +## Sprint 0 — Fondations ✅ +1. Scaffold Vite + TypeScript + Tailwind + shadcn/ui +2. Structure de dossiers complète +3. docs/ copiés depuis backend + adaptations +4. ONBOARDING.md rédigé + +## Sprint 0.5 — Design System ✅ +- Direction artistique Boréal validée +- Tokens CSS dans index.css +- DESIGN_SYSTEM.md rédigé + +## Sprint 1 — Auth + API layer ✅ +5. auth-client.ts +6. api-client.ts +7. query-client.ts +8. entities/user/* +9. features/auth (Login, Register, ProtectedRoute) + +## Sprint 2 — Dashboard conditionnel ✅ +10. usePlan hook +11. shared/components/PaywallModal +12. features/dashboard (Free / Standard / Premium) + +## Sprint 3 — Simulations EE ✅ +13. entities/production/* + entities/report/* +14. features/simulations (EE T1/T2/T3) +15. Affichage rapport avec floutage conditionnel + +## Sprint 3.5 — Clean +- Factorisation des fichiers modifiés Sprint 3 +- Tests manuels Groupe B + C rejoués +- Commit refactor(simulation-ee) + +## Sprint 4 — Simulations EO (audio) +16. MediaRecorder + upload audio EO T1/T3 + +## Sprint 4.5 — Clean +- Factorisation des fichiers modifiés Sprint 4 +- Tests manuels Groupe B + D rejoués +- Commit refactor(simulation-eo) + +## Sprint 5 — Billing +17. features/billing (Stripe Checkout + prorata) + +## Sprint 5.5 — Clean +- Factorisation des fichiers modifiés Sprint 5 +- Tests manuels Groupe E rejoués +- Commit refactor(billing) + +## Sprint 6 — T2 Live +18. features/t2-live (ws-client + audio worklet + state machine) + +## Sprint 6.5 — Clean +- Factorisation des fichiers modifiés Sprint 6 +- Tests manuels Groupe D rejoués +- Commit refactor(t2-live) + +## Sprint 7 — Mode Examen +19. Timer inarrêtable + readOnly à T=0 + +## Sprint 7.5 — Clean +- Factorisation des fichiers modifiés Sprint 7 +- Tests manuels Groupe D rejoués +- Commit refactor(exam-mode) + +## Sprint 8 — Pré-lancement +20. MAINTENANCE_MODE implémenté ✅ (2026-04-19) +21. Sentry configuré +22. /ultrareview avant bascule +23. Smoke test Groupe Z complet +24. Procédure DEPLOYMENT.md exécutée