--- name: Architecture sans barrels index about: Supprimer les index.ts barrel et verrouiller par règle / CI title: "[Archi] Supprimer les index.ts barrel et verrouiller par règle projet" labels: ["architecture"] assignees: [] --- ## Contexte Les packages exposent des barrels `src/index.ts` avec `export * from "..."`. Les alias Vite dans `apps/web/vite.config.ts` pointent vers ces fichiers. Ce pattern complique le suivi des imports réels et la détection de code inutilisé. ## Objectif Supprimer les barrels `index.ts`, migrer vers des imports **explicites**, et **verrouiller** la réintroduction du pattern (règles projet + CI). ## Travail technique 1. Remplacer les alias Vite (et chemins TypeScript si besoin) par des modules canoniques nommés (ex. `@ben-to/builder/domain`, `@ben-to/recipes/catalog`) ou par des sous-chemins `package.json` **`exports`** sans fichier nommé `index.ts`. 2. Mettre à jour tous les imports (`apps/web`, `packages/**`). 3. Supprimer les anciens `**/src/index.ts` après migration. ## Règles / outillage - Étendre `.cursor/rules/ben-to-engineering.mdc` : pas de nouveau barrel `index.ts` ; imports depuis modules nommés. - Optionnel : ESLint `no-restricted-imports` ou script `scripts/quality/` qui échoue si un `**/src/index.ts` barrel réapparaît. ## Critères d’acceptation - [ ] Plus de `export * from` dans des `index.ts` à la racine des packages features/shared concernés. - [ ] CI (`check:quality` ou lint) empêche la réintroduction du pattern (selon le niveau de durcissement retenu). ## Références - `apps/web/vite.config.ts` - `packages/features/*/src/index.ts`, `packages/shared/*/src/index.ts`