A Plugin Protocol That Stops Admin Panels from Turning into Monoliths
Admin panels in mid-to-large orgs accumulate modules until the codebase becomes a tangled monolith. A plugin protocol with explicit boundaries, dependency checks, and runtime toggles keeps the host lean and makes adding a new business domain a stable, repeatable operation instead of a risky surgery.
Large admin panels tend to collapse under their own weight when every business domain gets stuffed into a single host. This framework pulls the host back to startup, layout, and global guards, then splits domains like shops, settings, and reports into separate `plugin-*` packages. Each plugin declares its identity, version, dependencies, routes, menus, and language packs through a single TypeScript interface, so the host never needs to know internal details. The system also enforces ordering, dependency validation, and conflict detection at registration time, catching duplicate IDs or route paths before they cause runtime chaos. A runtime manifest and start/stop controls with localStorage persistence let operators toggle plugins on or off and survive page refreshes without losing state.
The core idea is boundary enforcement, not just modularity. The protocol forces a plugin to ship everything the host needs in one declaration, which prevents the common failure mode where a 'module' still reaches into the host to patch global state.
Persisting plugin enable/disable state to localStorage is a pragmatic choice for admin tools where operators may need to hide entire domains without a deploy, but it also introduces a state synchronization problem if multiple tabs or users share the same browser profile.
The dependency and conflict detection logic shifts failure from runtime to registration time. Catching a duplicate route path when the plugin loads is far cheaper than debugging a broken navigation tree after deployment.
The conversation revolves around the project's availability and its practical trade-offs. Interest in studying the code is met with a claim that it is open-source, which is immediately contradicted by a specific observation that the core repository remains closed. A separate line of criticism argues the plugin protocol adds unnecessary complexity and hampers extensibility.
I'd like to ask, will this project be open-sourced? I've been free lately and happened to come across your blog, and I'd like to learn from it [rose][rose][rose]
It's already open-sourced, wow
The pm-web-admin-next repository isn't open-sourced
It's not easy to extend, and it tends to overcomplicate simple tasks.