Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Menu Builder Api Bundle Laravel Package

forci/menu-builder-api-bundle

Symfony bundle that exposes API endpoints for the Forci Menu Builder, enabling programmatic creation, retrieval, update, and deletion of menus and menu items. Add a ready-made menu management API layer to your application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Navigation as a product surface, decoupled from presentation. The underlying need this package addresses is real and recurring: admin-editable, hierarchical navigation (nested items, ordering, visibility scoping) served as JSON so web, mobile, and partner clients render the same tree. If the roadmap includes a CMS-lite, an admin-configurable mega-menu, white-label storefronts, or a headless API-first front end, this is the category of component worth evaluating — and the decision to not adopt it is just as valid an output as adoption.
  • Build vs. buy for menu CRUD. The PM decision is not "install this" but "does buying a scoped menu-API dependency beat a sprint of in-house work?" For a Laravel codebase the calculus tilts toward build or buy-a-Laravel-alternative, because this package is a Symfony bundle (the -bundle suffix and Symfony bundle registration are the tell) — there is no Laravel service provider, facade, config stub, or migration path. Adopting it means either running a second Symfony runtime as a service or extracting the domain model and rebuilding it.
  • API contract planning. If any version is adopted, it fixes your menu resource contract: endpoint shape, tree payload format, ordering persistence semantics. That is expensive to change once clients depend on it, so it belongs in a product/architecture decision record, not an ad-hoc composer require.
  • Entitlement and multi-tenancy roadmap. Role-, plan-, or tenant-scoped navigation is a common requirement; whether the menu layer supports scoping affects how you model permissions and feature gating downstream.
  • Risk triage as a first-class roadmap call. With 0 stars, 0 dependents, and a NOASSERTION license, the honest PM framing is that this is an evaluation and triage decision, not a build decision: timebox a spike, gate on legal license review, or deprioritize against maintained alternatives. Record that choice explicitly so it isn't relitigated without new information.

When to Consider This Package

Consider it only under narrow, explicit conditions:

  • A concrete, near-term menu/CMS requirement exists and the package demonstrably covers it — verified by reading the source and exercising the endpoints, not by the README.
  • A 1–2 day spike is affordable and timeboxed. Install in a sandbox Symfony app, hit the JSON endpoints, inspect test coverage and commit recency, and capture the API contract and data model as reusable artifacts regardless of the outcome.
  • Legal has cleared the license. NOASSERTION means the terms were not machine-detectable — treat it as a commercial-use blocker, not a footnote, until counsel reads the LICENSE file.
  • You have a Symfony runtime or Symfony fluency on staff. Because it will not boot inside a Laravel app; the realistic adoption path is containerizing it as a standalone service or extracting a framework-agnostic core, both of which require Symfony competence.
  • You accept that you become the maintainer. Patching, security response, PHP/Symfony version upgrades, and Doctrine schema ownership all transfer to your team.

Look elsewhere — or build in-house — when:

  • You need a Laravel-native dependency. Prefer packages with a service provider, published config and migrations, and active issue traffic.
  • You need community validation or support. Zero stars and zero dependents means no production evidence, no tutorials, no Stack Overflow trail; onboarding is source-reading only.
  • The requirement is small. An adjacency-list or nested-set menu with a handful of admin endpoints is a few days of work; a dependency you must babysit and adapt can cost more than the build.
  • You cannot absorb platform risk on a core navigation path. Single-vendor origin, no visible CI or release cadence, and unclear licensing make this a long-term liability.

How to Pitch It (Stakeholders)

To executives: This package targets a real but non-differentiating need — admin-configurable, hierarchical navigation served over an API. It is not ready for adoption today: no adoption signal (0 stars, 0 dependents), an unclear license, no evidence of active maintenance, and it is built for Symfony rather than our Laravel stack. Recommendation: fund a small, timeboxed spike only if navigation is on the near-term roadmap, gated on legal clearing the license; otherwise defer. The dollar cost of a wrong call is low, but the rework cost is real — menu API contracts are painful to change once clients depend on them — and the likely outcome is harvesting the data model and API contract to build a small Laravel-native equivalent.

To engineering: Treat this as an unaudited reference implementation, not a dependency. It is a Symfony bundle: it will not register in a Laravel app, so plan on one of three paths — run it as a standalone Symfony service behind HTTP, extract a framework-agnostic core if one exists, or reimplement in Eloquent (usually cheapest at this scale). Read the source to confirm the data model, persistence contract (Doctrine entities and migrations will not cleanly map to the Laravel migration runner — assign schema ownership explicitly), auth model, and localization support. Expect to own upgrades, security patches, and the untrusted REST boundary; if the spike passes, the realistic outcome is a vendored, pinned fork under our own repo, not a Packagist install. Scope the in-house fallback in parallel so the schedule doesn't hinge on the spike.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle
glavweb/extra-bundle
glavweb/api-bundle
glavweb/admin-bundle
adachsoft/api-version-bundle
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager