saintsystems/nova-resource-group-menu
Organizes Laravel Nova resources into collapsible sidebar groups, making large admin panels easier to navigate. Adds grouped menu sections, configurable labels, and icons so related resources stay tidy without custom tooling.
mainMenu() API?Adopt only when all of these hold:
Look elsewhere — or do nothing — when:
Nova::mainMenu() with MenuGroup/MenuSection covers this directly; this package patches Nova 2/3 menu internals and almost certainly does not survive the Vue 3/Inertia rewrite.To executives (30-second version): A free, MIT-licensed add-on that nests Nova resources under collapsible groups in the admin sidebar. The cost isn't money — it's ownership. With ~27 stars, zero downstream users, and no release since May 2020, if it breaks we fix it ourselves, on our own clock, with no vendor to call. Recommendation: do not adopt as a standing dependency. On Nova 4+ the capability is native and this package is likely incompatible; on older Nova, a short in-house implementation we own is the cheaper long-term path. Opportunity signal is low — this is convenience and internal polish, not differentiation.
To engineering (working summary): A thin presentation-layer tool that injects hierarchical sub-menus into the Nova sidebar, driven off each Resource's static $group. Two risks: (1) it patches Nova 2/3 menu internals and almost certainly doesn't survive Nova 4's mainMenu/MenuGroup refactor; (2) unmaintained since 2020 with zero dependents means nobody has incidentally compatibility-tested it against our Nova/PHP/Laravel triple — we would be the QA function. The failure mode that matters is silent: a Nova minor bump leaves the menu rendering while groups flatten or resources vanish, surfacing as an operator ticket six weeks later. If we proceed, pin the exact version (0.1.0, no caret), budget a mandatory half-day spike on a throwaway branch (expect PHP 8.x deprecations and asset-publishing confusion — nova:publish is the usual "installed but does nothing" cause), and back it with a render smoke test asserting group headings appear. Honestly, the package is a better tutorial than a dependency: read it once (~an hour), learn where the sidebar hooks live, then write our own — and pin the decision (fork with a named owner, or reimplement), not just the version. A floating Composer dependency with no owner is the one outcome with no good ending.
How can I help you explore Laravel packages today?