em411/sylius-feature-flag-bundle-plugin
Manage em411/feature-flag-bundle flags from the Sylius admin panel. Flags become a Sylius resource with a grid to create, edit and delete them, each with a code, enabled toggle, optional value and description. A Doctrine-backed provider overrides code-defined @AsFeature flags of the same code.
code, enabled, value, and description, non-engineers (support, ops, merchandising) can flip a capability or adjust a value during an incident or launch window without a ticket to engineering — a meaningful reduction in time-to-mitigate.@AsFeature of the same code — i.e., the "off" switch survives deploys and is controllable at runtime.value field allows simple parameterized flags (e.g., threshold, variant label), supporting lightweight experiments and staged pricing or checkout changes.Consider it when all of the following hold:
em411/feature-flag-bundle; this is a provider + admin UI add-on, not a standalone system. Adopting it means adopting that dependency chain too.Look elsewhere when:
For executives: A free, MIT-licensed add-on that turns feature toggles into a point-and-click admin screen inside Sylius, so we can launch features gradually and turn them off instantly without engineering deploys. It's a low-cost experiment that buys operational speed and reduces release risk. The trade-off is support risk: it's a small, unproven open-source component on an older Symfony/Sylius baseline, so I'd recommend a time-boxed spike, not a platform commitment.
For engineering: It's a thin Sylius plugin — registers a Doctrine-backed flag resource with an admin grid, and plugs a high-priority provider into the em411/feature-flag-bundle chain so DB flags shadow @AsFeature annotations. Install is two bundle registrations plus admin routing. Standard Symfony/Doctrine, nothing exotic. The concerns are the version ceiling (PHP 7.4–8.1, Symfony 4.4), no targeting or audit features, and a single-maintainer dependency.
Recommendation: Run a 1-sprint spike behind our own flag-interface abstraction so the provider can be swapped later; validate it on our actual Sylius/PHP versions before any production exposure, and restrict initial use to reversible, non-critical flags. Only promote to a platform standard if the maintainer activity and version support improve — otherwise fork it or build the ~1-day equivalent in-house.
How can I help you explore Laravel packages today?