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.
-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.composer require.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.Consider it only under narrow, explicit conditions:
NOASSERTION means the terms were not machine-detectable — treat it as a commercial-use blocker, not a footnote, until counsel reads the LICENSE file.Look elsewhere — or build in-house — when:
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.
How can I help you explore Laravel packages today?