feat(modules): add external module system with auto-discovery and public pages support

- add `src/core/modules/` with registry, discovery (server), and public index
- add `src/core/public-pages/` with registry, server component, and public index
- add `src/core/users/permissions-registry.js` for runtime permission registration
- expose `./modules`, `./public-pages`, and `./public-pages/server` package exports
- rename `registerFeatureRoutes` to `registerApiRoutes` with backward-compatible alias
- extend `seedDefaultRolesAndPermissions` to include module-registered permissions
- update `initializeZen` and shared init to wire module discovery and registration
- add `docs/MODULES.md` documenting the `@zen/module-*` authoring contract
- update `docs/DEV.md` with references to module system docs
This commit is contained in:
2026-04-25 10:50:13 -04:00
parent 3098940905
commit a3aff9fa49
23 changed files with 776 additions and 33 deletions
+9
View File
@@ -93,6 +93,15 @@
"./users/constants": {
"import": "./dist/core/users/constants.js"
},
"./modules": {
"import": "./dist/core/modules/index.js"
},
"./public-pages": {
"import": "./dist/core/public-pages/index.js"
},
"./public-pages/server": {
"import": "./dist/core/public-pages/PublicModulePage.server.js"
},
"./api": {
"import": "./dist/core/api/index.js"
},