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

Frontend Laravel Package

luminix/frontend

Luminix Frontend gives Laravel apps a structured, component-driven frontend layer, pairing conventions and tooling that simplify view rendering, asset handling, and client-side integration so teams can build and maintain modern interfaces with less boilerplate.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

What the package actually is. The product is three things: src/, config/frontend.php, and views/embed.blade.php. It is not a frontend framework — it is a server-side contract layer. ManifestService introspects Eloquent models through Spatie\ModelInfo\ModelInfo and resolves them via Luminix\Backend\Facades\Finder, then hands that manifest to a Blade embed view. Everything else in the repository is tests, packaging, and documentation.

Architecture fit. Good if, and only if, you are already on luminix/backend. The core dependency is transitive by design: neither spatie/laravel-model-info nor Luminix\Backend is required here, and the development notes explicitly warn that loosening the constraint "breaks the manifest, not just the models it describes." Treat luminix/backend as a hard peer requirement, not a Composer suggestion. For a greenfield Laravel service with no CMS backend, fit is poor — you would adopt an entire ecosystem to obtain one manifest endpoint and one Blade view.

Integration feasibility. Mechanically easy: one Composer install, one config publish, one view. The friction is epistemic. The public contract lives in skill/SKILL.md rather than in types or a versioned schema, and it is defined by what a consuming app can observe: payload keys, manifest fields, config keys, reducer names, artisan flags. That is a contract, but not a typed one. You will need to author the contract tests yourself.

Technical risk.

  • Bus factor of one. No external adopters (0 stars, 0 dependents), Portuguese-only commit messages and branch names, English-only consuming docs, Portuguese README.
  • Latest release is dated 2026-10-13 — future-dated relative to a normal registry snapshot. Most likely a tagging/metadata anomaly; verify the tag resolves to an auditable commit before pinning.
  • CI is a 10-job matrix (Laravel 11/12/13 × PHP 8.2–8.5), but semver is derived from the commit subject ((MAJOR), (MINOR), absence → patch). A mislabeled subject ships a breaking change as a patch release.
  • composer lint is declared but unusable — phpstan/phpstan is absent from require-dev and no config exists. Static analysis is your responsibility.
  • The Luminix\Frontend\Tests\ → tests/ autoload-dev entry is dead, indicating drift between packaging metadata and reality.
  • Guest-visibility filtering is suppressed whenever runningInConsole() is true — correct for CLI ergonomics, but it means the package's own tests need a simulateHttpContext() shim, and any consumer command, queue worker, or scheduled job that emits a manifest may expose fields you assumed were filtered.

Key questions to resolve in the spike.

  1. What is the stability guarantee on manifest keys and reducer names — is there a schema version field, or is skill/SKILL.md the only specification?
  2. Which Packagist packages must be installed alongside, with what version constraints, and does luminix/backend in turn pull luminix/core or a JavaScript counterpart?
  3. Is there a consumer-side JS package that must match the manifest shape, and how is that pairing versioned?
  4. Why is the latest release future-dated, and is v1.x the only supported branch?
  5. What is the license and support posture?
  6. Is the console-vs-HTTP filter divergence an intentional security boundary, and is it documented as one?

Integration

Stack fit. Laravel 11–13 on PHP 8.2+, distributed via Composer/Packagist. Blade rendering means it slots into any Blade, Livewire, or Inertia host. But "frontend" in this name means server-rendered embed bootstrapping a JS app — confirm what the embed actually mounts before designing around it. On an API-only or CDN-hosted SPA, the Blade view is dead weight and you would consume only the manifest service.

Migration feasibility. Low-to-moderate. No data migration is implied: the package reads models, it does not own tables. The migration is a contract migration — replacing whatever hand-rolled schema endpoint or shared-props builder you have today with a manifest produced by ManifestService. Budget for a parallel-run period and a diff harness that compares old versus new payloads model by model.

Compatibility. Two axes with very different guarantees. The Laravel/PHP matrix is broad and CI-enforced. The luminix/backend pairing is narrow and not enforced by this repository. Pin exact versions of both; do not use ^ on luminix/backend.

Sequencing.

  1. Spike in a throwaway Laravel 12 app with a three-model schema: install, publish config, dump the manifest, confirm the Finder + ModelInfo path works without luminix/backend being explicitly required.
  2. Golden-JSON snapshot tests per model, captured under both HTTP context (via simulateHttpContext()) and console, then diffed. That diff is your security baseline.
  3. Put an adapter interface in front of ManifestService so an upstream rename is a one-file change in your codebase.
  4. Vendor the skill: vendor:publish --tag=luminix-skill, commit the published copy, and add a CI job that re-publishes with --force into a temp directory and fails on diff. That is your only early warning that the observable contract moved.
  5. Roll out behind a feature flag; keep the legacy endpoint for one full release cycle.

Operational

Maintenance. Small code surface, but you inherit the upgrade treadmill of a transitive chain you do not control. Two recurring chores: re-publishing the skill on every bump (otherwise the agent-facing documentation drifts and your AI tooling starts generating code against a contract that no longer exists), and re-baselining snapshots. Upstream discipline is visibly uneven — dead autoload entry, non-functional lint script, Portuguese-only commit conventions — so assume you are the QA function.

Support. Zero stars and zero dependents means no community, no Stack Overflow surface, no third-party write-ups. Support is the maintainer's GitHub issues, in whatever language they respond in. Plan for an internal owner with read access to src/ and a standing willingness to fork. Forking is cheap here (three files) and, given the commit-subject-driven semver scheme, arguably the safer default for anything revenue-critical.

Scaling. ModelInfo introspection plus Finder resolution is per-request work unless cached; across dozens of models it will show up in p95. Cache the manifest keyed on both an app-level model-registry version and the authenticated user's visibility scope — the guest filter must be part of the cache key, or you will serve a privileged manifest to an anonymous request. Watch memory on wide schemas: introspecting every model on every boot does not scale linearly in practice.

Failure modes.

  • Silent manifest drift after an upstream minor bump, because semver is derived from commit messages.
  • Filter bypass: runningInConsole() suppresses guest filtering, so any queue worker, scheduled job, or artisan command that emits a manifest skips the visibility layer entirely.
  • --force publish clobbering locally patched skill files in consuming apps. This will happen, and it will present as a documentation regression rather than a packaging one.
  • Introspection crashes on non-standard models (composite keys, non-Eloquent repositories, polymorphic relations). Degrade gracefully by allowlisting models rather than scanning everything.
  • Future-dated release metadata breaking constraint resolution, SBOM generation, or provenance tooling.

Ramp-up. Half a day to read src/, the config, and the embed view. Two to three days to be genuinely productive, because the real onboarding is the luminix/backend Finder contract and the skill-publishing convention — neither of which is in the Portuguese README. The English skill/SKILL.md is the only reliable map. Record a "why we pinned / why we may fork" note in the repo before the first integrator rotates off.

Verdict. Adopt only as an internal component of a Luminix-based stack — pinned, adapter-wrapped, and fork-ready. Do not adopt as a general-purpose frontend manifest library. The score (19.1 overall, 41.1 opportunity, zero dependents) describes a package that is early, single-maintainer, and coupled by design; the opportunity signal is real, but it is an opportunity for the maintainer, not yet a safe bet for a dependent.

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.
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource