setup-ts-deep-modules
Configuration des modules profonds TS
Faites de chaque package de ce dépôt un module profond : beaucoup de comportement derrière une petite interface. La surface publique d’un package se compose de ses points d’entrée — les fichiers situés à sa racine —, tandis que le contenu de ses sous-dossiers reste privé. Ce skill installe dependency-cruiser, configure les règles qui imposent ces points d’entrée, puis vérifie que les violations sont bien détectées.
Pour le vocabulaire (module profond, interface, couture, profondeur), exécutez la compétence /codebase-design — utilisez son langage partout.
La forme appliquée
src/packages/
<name>/
index.ts ← point d’entrée public, à importer depuis l’extérieur
client.ts ← autre point d’entrée ; un package peut en exposer PLUSIEURS
lib/ ← implémentation cachée de l’extérieur ; imports internes libres
tests/ ← tests et fixtures colocalisés dans un sous-dossier privé
La surface publique est constituée des fichiers racine du paquet — et non de ceux désignés index.ts. Par convention, l'implémentation réside dans lib/ et est testée dans tests/, donnant à chaque package la même forme à deux dossiers. La règle elle-même est cependant générale : tout dans n'importe quel sous-dossier est privé, vous n'étendez donc jamais la configuration pour ajouter un dossier.