# WebUI Module Package Layout Core discovers a module contribution from `src/module.ts` when `node_modules` links directly to a module's `webui` package. Tagged release dependencies are installed from repository-root packages and expose the same contribution at `webui/src/module.ts`. The Vite registry accepts both layouts and imports the contribution descriptor directly so route-level lazy loading is preserved. A release package is invalid if neither entry exists. The module-permutation CI matrix builds source-linked and installed release compositions; it must not fall back to a package root barrel because that would eagerly pull module pages into the shell bundle.