liberusoftware/feature-flags-livewire
A Livewire-powered interface for managing Laravel feature flags. Quickly browse, toggle, and organize flags from a reactive, developer-friendly UI, making it easy to control features at runtime and smoothly integrate simple flag management directly into your Liberu Software application.
What this package actually is. The name and description ("Feature Flags livewire presentation adapter") place this firmly in the Liberu module family: it is the presentation layer — Livewire components, Blade views, and wireable actions — that renders and mutates feature flag state owned by a separate core domain package. It is not a flag engine. It contains no evaluation logic, no targeting rules, no storage. Its entire value is proportional to whether your application is already committed to the Liberu modular stack and to the sibling core module it decorates.
That reframing should drive the evaluation, because the raw signals are not promotable on their own: 0 stars, 0 dependents, NOASSERTION license, and a single visible release. This is an internal-first artifact published for ecosystem convenience. Treat it as one component of a platform decision, not as a standalone dependency to be adopted à la carte.
Architecture fit. Clean, if narrow. It sits correctly as an adapter in a hexagonal sense: the core module owns flag state and evaluation; this package owns the operator's interaction with them. That separation is the right one and is the main argument in its favour. It fits a Laravel modular monolith (nwidart-style module layout) with Livewire 3.x on back-office/admin surfaces. It fits poorly against API-first or headless front ends, and it has no path to an external evaluator (LaunchDarkly, Unleash, Flagsmith) — a presentation adapter over a local Eloquent store cannot front a remote evaluation SDK without being rewritten.
Integration feasibility. Mechanically trivial (composer require plus module registration). Commercially and legally, gated by two blockers that must clear before any code lands:
NOASSERTION means GitHub's detector could not match an OSI template. That is a hard stop in most enterprises. Someone must read the repository LICENSE file, classify it, and route it through legal review. Budget one to two weeks for that alone.wire:model semantics, pagination, and Alpine interop all shifted materially between majors. You need an explicit tested-against matrix (Laravel and Livewire versions) before you can plan a release.Technical risk.
| Risk | Severity | Notes |
|---|---|---|
| License ambiguity | High | Blocks adoption outright; unresolved at time of review |
| Ecosystem lock-in | High | Only useful alongside the sibling core module; low substitution value |
| Livewire major-version churn | Medium-High | Thin UI layer, breaks loudly on upgrades |
| Zero dependents / zero stars | Medium | No field-tested installs; you are the first production user |
| Bus factor | High | Single-vendor, single-maintainer pattern typical of the org |
| Reversibility | Low risk | Small surface; easy to replace with in-house code |
Key questions for the maintainer.
Bottom line. A legitimate but unproven convenience layer whose cost of replacement (roughly 3–8 developer-days to rebuild the same components against your own service contract) is close to its cost of adoption. That asymmetry, not the star count, is the decision.
Stack fit. Adopt only inside a Laravel modular monolith that already standardises on Livewire for admin UI and has accepted the Liberu module family as a platform dependency. If Livewire is confined to a corner of the app, or if flag administration is the only thing it would be used for, this package is not worth the surface area — write the two or three components yourself against your own flag service interface and keep the dependency graph clean.
Migration path. There is no migration path in the conventional sense; this is greenfield adoption. If flags currently live in config/ files or .env booleans, the migration surface is the core module (data model, evaluation, caching), not this adapter. Sequence accordingly: prove the core first, then bolt the UI on. Do not let the adapter's ease of installation create the impression that the harder data-layer work is done.
Compatibility. Pin explicitly and test against exactly one tuple. Recommended starting point: the newest Laravel LTS you support, PHP 8.3, Livewire 3.x, Tailwind matching your design system. Add a Composer constraint that refuses to resolve outside that tuple — for a package with no dependents there is no community pressure to keep it current, so your constraint file is the only thing preventing a silent break.
Sequencing.
LICENSE, classify, obtain legal approval. No engineering time before this.Maintenance. Expect to own this. With zero dependents you will be the de facto QA function; upstream issues you file may sit indefinitely. The mitigation is structural, not contractual: keep the package pinned, keep your façade in front of it, and schedule a review each Livewire major release. The package's small surface area is genuine protection — a fork is viable and small enough to maintain internally if upstream goes quiet.
Support. Community and repository issues only; there is no commercial support tier implied by the metadata. Escalation paths are informal. For an internal admin tool this is tolerable; for anything customer-facing or revenue-affecting it is not.
Scaling. The adapter itself is negligible — it renders pages for a small population of operators, so request volume and data volume are both trivial. The scaling question belongs entirely to the core module: flag evaluation on hot paths, cache invalidation, and store choice (database vs Redis) are all inherited risks that this package neither creates nor solves. Do not infer the core module's performance characteristics from this layer's lightness.
Failure modes.
NOASSERTION cannot be cleared, which is why Gate 0 is first.Ramp-up. Low for anyone fluent in Laravel and Livewire: half a day to read the components, one to two days to a productive contribution. The real ramp-up cost is ecosystem literacy — understanding the Liberu module conventions, the core flag model, and how the two are wired together. Budget that against the core module, not this one, and assign a single named owner so knowledge does not evaporate after the prototype.
Recommendation. Conditional trial, gated on license clearance and core-module maturity. Adopt only as a short-term accelerator inside an existing Liberu/Livewire platform; assume a fork or in-house replacement within 12–18 months, and architect the façade now so that assumption costs you a binding change rather than a rewrite.
How can I help you explore Laravel packages today?