Files
ben-to/docs/tickets/issue-builder-solid.body.md
2026-07-21 16:50:58 +02:00

26 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## Contexte
La logique et lUI du parcours builder sont concentrées dans `apps/web/src/ui/BuilderFlow.tsx` (fichier très volumineux). Le domaine pur existe déjà dans `packages/features/builder/src/domain.ts`.
## Objectif
Réduire la surface « tout-en-un » du flux builder et clarifier les frontières entre UI, état du wizard, et domaine (`@ben-to/builder`).
## Pistes techniques
- Extraire par **responsabilité unique** : étapes (base / variante / recette), barre dactions, feuille recette, navigation « Continuer », synchronisation reset (`builder-reset-bus`).
- Introduire des **hooks / ports** testables (ex. `useBuilderSteps`, `useRecipeSheet`) pour isoler les effets et la lecture du catalogue.
- **DIP** : lUI consomme le domaine (`domain.ts`) et des interfaces stables pour le catalogue, sans détails de parsing dispersés.
- Conserver / étendre les tests (`*.unit.test.ts`, e2e, Gherkin `@int-builder-*`).
## Critères dacceptation
- [ ] Aucun fichier du flux builder > ~250300 lignes sans justification documentée en commentaire de module.
- [ ] Tests unitaires / intégration et e2e verts ; pas de régression sur le parcours dans `specs/features/builder.feature`.
## Références
- `apps/web/src/ui/BuilderFlow.tsx`
- `packages/features/builder/src/domain.ts`
- `specs/features/builder.feature`