lara-zeus/uranus
Uranus is a Laravel package in the Lara Zeus family, giving you ready-made building blocks for admin panels and back-office apps. Drop it into an existing Laravel project, tweak a few config options, and start shipping polished screens faster.
Architecture fit. Uranus is a Laravel/Composer package in the Lara Zeus family, built for the TALL stack with Blade and Tailwind output, and its stated purpose is to move an existing admin panel onto Filament. It is therefore only architecturally relevant in one scenario: we are already standardised on Filament, or we are actively making that platform decision. If our back end is not Laravel, or our front end is Inertia/React/Vue-first, this is a non-starter — the integration cost exceeds any notional saving before code quality is even considered. The important sequencing insight for a TPM is that Filament is the platform decision and Uranus is a satellite of it. Letting a 15-star archived package act as a proxy for a stack choice it is not qualified to carry is the primary architectural risk here, and it is a governance risk rather than a technical one.
Integration feasibility. The mechanical path is almost certainly trivial: composer require, package discovery, publish config and assets, register the plugin on a panel provider. The real feasibility question is not "does it install" but "can we own it." Because the repository is archived, there is no upstream to return defects to, no advisory feed, and no compatibility work for future Laravel or Filament majors. If the answer to who fixes this when Filament ships its next major is "we do, indefinitely," then this stops being a dependency evaluation and becomes a fork evaluation, and the business case must be written against total cost of ownership rather than against a licence price of zero. That reframing is the single most useful thing a TPM can contribute to the discussion.
Technical risk, ranked.
description.md describes a generic config-publishing Laravel package with service provider and Blade output. Those are two different products with two different blast radii. We cannot size a pilot, estimate effort, or judge reversibility until that is resolved by reading src/ and composer.json.Key questions to answer before any commitment.
php, laravel/framework, and filament/filament constraints are declared, and which Filament major is it bound to?Recommendation: do not adopt as a runtime dependency. The two defensible uses are (a) a time-boxed, read-only spike to harvest patterns for a Filament-native build, or (b) a deliberate, owned fork if source review shows the conversion logic is small and genuinely reusable.
Stack fit. Relevant only if we are on Filament or actively deciding to be. Secondary fit factors: Tailwind already in the build pipeline, Laravel service-provider conventions already understood by the team, and a team comfortable reading package source rather than relying on documentation. All three are true of a typical TALL shop and all three reduce the cost of a spike — but none of them reduce the cost of ownership.
Migration path — fork-first, not install-first. Because upstream is archived, the only coherent integration is a vendored fork:
v1.0.0 commit SHA. Never float ^1.0 against an archived repository — there will be no patches, and the constraint advertises a maintenance guarantee that does not exist.composer.json, README.md, the service provider or panel plugin class, and any config/ file in that order, before writing a line of integration code. This step also resolves the purpose contradiction.Compatibility gates. Two hard gates: the Filament major version (the most probable failure point) and the Laravel/PHP floor. Secondary checks: Livewire alignment, the asset build step (php artisan filament:assets), migration ordering and rollback, and route or view namespace collisions with existing panels. Validate all of it against our current lockfile in a throwaway branch before anything is scoped or promised.
Sequencing with decision gates.
URANUS_ENABLED=false by default), with a documented rollback to the prior lockfile and migration state.If we do proceed, the patterns that matter. Register inside the specific PanelProvider, never a global provider, so a customer-facing panel cannot accidentally inherit the plugin. Prefer config-driven registration over hardcoded route injection. Keep the fork's diff surface small enough that rebasing onto a future Filament major is a bounded task rather than a rewrite.
Maintenance. This is the dominant operational fact. An archived package means: no security fixes, no disclosure process, no CVE response, no compatibility work, and Composer constraints that silently rot until composer update either fails or — worse — succeeds against an untested combination. We inherit the full maintenance burden of every line we adopt. In practice that means an internal owner, a fork in our namespace, a pinned SHA, and a recurring line item in upgrade planning for every Filament and Laravel major. If we cannot staff that owner, we cannot adopt the package; those two facts are inseparable.
Support. Effectively zero external support. Fifteen stars and zero dependents means no issue corpus to search, no Stack Overflow answers, no third-party migration guides, and no production users who have already hit our bug. Every debugging hour is ours and is unbudgeted. The corollary for planning purposes: our own time estimates for anything touching this package should carry an explicit exploration multiplier rather than being estimated as ordinary feature work. Internal knowledge concentration is also a risk — if one engineer becomes the only person who understands the fork, we have created a bus-factor problem in exchange for a small amount of saved scaffolding.
Scaling. Two dimensions. Technical scaling is likely fine — it is a small admin-panel package with low throughput demands, and the resource profile of an internal back-office tool rarely becomes the constraint. Organisational scaling is where it bites: the package does not scale across teams. Each additional consumer increases the surface that must be revalidated on every Filament upgrade, with no upstream to absorb that work. There is also an adoption-ceiling effect — because the package is archived, other teams will reasonably refuse to depend on it, so it cannot become a shared internal standard. That caps its strategic value at "one team's local tool."
Failure modes. Ranked by how bad the day is:
composer update elsewhere in the tree resolves an untested Filament/Laravel combination, and the package fails at runtime rather than at install. Mitigation: exact pin, lockfile discipline, and a CI check on the constraint set.Ramp-up. Roughly two days for the spike itself, front-loaded — half a day of source reading before any execution. Onboarding beyond that is asymmetric: the initial install and registration is an afternoon for a Filament-fluent engineer, but the ownership ramp-up is open-ended, because the knowledge required to maintain a fork of an undocumented, unmaintained package can only be built by reading it. Mitigation: a written internal README capturing what the package actually does, which Filament major it is bound to, and the exact rollback procedure — and treat that document as a deliverable of the spike rather than a nice-to-have.
The strategic operational upside. Uranus's highest-value contribution may be as a worked example rather than as code. It justifies a written dependency-governance rule — archived, single-maintainer, near-zero-adoption OSS does not enter a production dependency tree — and codifying that rule will reject the next twenty packages like it at zero marginal cost. It is also useful ecosystem data: Uranus is retired while its Lara Zeus siblings are active, which is concrete input to how much surface area we want exposed to that ecosystem at all. And its contradictory documentation is the cleanest internal argument available that README claims are hypotheses, not requirements.
How can I help you explore Laravel packages today?