laravel/ui
Laravel UI provides legacy Bootstrap, Vue, and React frontend scaffolding, including authentication views via the artisan ui command. It still works with current Laravel, but new projects should use Laravel Breeze or Jetstream instead.
Architecture fit. Laravel UI is a scaffold-time package, not a runtime framework. It generates Bootstrap/Vue/React frontend presets and authentication scaffolding through Artisan commands such as php artisan ui bootstrap --auth. Its best fit is a legacy Laravel monolith using Blade and Bootstrap that needs fast, conventional auth screens. It is a poor strategic fit for greenfield products, API-only/headless applications, Inertia/Livewire-first stacks, or auth requirements involving SSO, MFA, complex password policy, or enterprise identity. The README explicitly positions Laravel Breeze and Jetstream for new projects. The TPM should treat Laravel UI as a tactical bridge or accelerator, not as the target architecture. Package-level coupling is low because generated controllers, routes, and views become application-owned code; however, that also means the generated code is where long-term architectural and security risk accumulates.
Integration feasibility. Feasibility is high for supported Laravel versions when the package major is matched correctly. Version 4.x supports Laravel 9–13 and is the only major receiving bug fixes. Installation is standard Composer plus NPM/Vite, followed by an Artisan preset command. Because the command mutates application files, integration should be done in an isolated branch or scratch application and merged selectively. React and Vue presets add frontend build complexity. The package is MIT-licensed and Composer-native. A TPM should verify whether Laravel UI is needed only at scaffold time or remains referenced at runtime; generated code should be inspected before removing the package.
Technical risk. Risk is medium-to-high for new products and low-to-medium for existing legacy Laravel applications when isolated and pinned. Authentication is security-sensitive: default scaffolding may not satisfy MFA, SSO, audit logging, password policy, email verification, throttling, or compliance requirements. Additional risks include Laravel/PHP/Node version mismatch, Vite/Bootstrap/Vue/React drift, generated route or view conflicts, accidental overwrites during scaffolding, and upgrade friction if the team later moves to Breeze/Jetstream. The package’s “legacy” positioning and latest-major-only support policy are more important than its release recency. The zero-dependents metric should not be used alone to judge ecosystem health; validate with Packagist downloads, internal code search, and known Laravel usage patterns.
Key questions. Is this a greenfield build or a legacy application? What Laravel, PHP, Node, and frontend versions are targeted? Is the need only Bootstrap auth views, or does the product need Breeze/Jetstream-class features? Which preset, if any, is strategically acceptable? Who owns the generated auth code and its security review? Can the team accept legacy status with a documented exit plan? Are SSO, MFA, email verification, rate limiting, and audit requirements in scope? Is Laravel UI needed at runtime or only during scaffolding? What is the cost to migrate to Breeze, Jetstream, or custom auth later? What internal precedent and download evidence exist beyond star count and dependent count?
Stack fit. Laravel UI fits best with Laravel Blade monoliths using Bootstrap 5, Vite, and optionally Vue or React. It is a weak fit for API-only/headless services, Livewire/Inertia-first applications, or SPA architectures where Breeze/Inertia or a dedicated frontend may be cleaner. MIT licensing and Composer delivery reduce procurement friction. The main lock-in is not the package itself but the generated auth controllers, routes, views, and frontend assets that the team must own.
Migration path. For an existing application, create a branch or clean prototype, confirm the Laravel/PHP/Node baseline, install the matching laravel/ui major, run the chosen preset in the prototype first, diff generated files against the application, and merge only required controllers, routes, views, and assets. Then wire guards, providers, mail, password reset, verification, and throttling. Run auth regression tests and a security review. After verifying no Laravel\Ui references remain, decide whether to retain the package as a scaffold-time dependency or remove it. For greenfield projects, default to Breeze or Jetstream unless Bootstrap/legacy consistency is a hard requirement. For modernization, use Laravel UI only as a temporary bridge and schedule migration to Breeze, Jetstream, or custom auth.
Compatibility. Match package major to Laravel version: 4.x for Laravel 9–13, 3.x for Laravel 8–9, and older majors for earlier Laravel versions. Version 4 introduced Vite and dropped Laravel 8 plus PHP 7.3/7.4; React 18 arrived in 4.1; Bootstrap 5 is the current baseline. Validate PHP, Node, npm, Vite, Bootstrap, Vue/React, and Laravel auth configuration together. Only the latest major receives bug fixes, so older majors should be treated as frozen and scheduled for upgrade or replacement.
Sequencing. First confirm decision criteria and non-goals. Second, baseline the application and dependency matrix. Third, prototype in an isolated branch. Fourth, generate the scaffold and diff/merge selectively. Fifth, wire auth configuration and frontend build. Sixth, add tests for login, registration, password reset, email verification, and throttling. Seventh, complete security and accessibility review. Eighth, document ownership and exit plan. Ninth, release behind a feature flag if auth changes are disruptive. Tenth, decide whether to retain or migrate. Avoid combining a Laravel upgrade, frontend build migration, and auth scaffold change in a single release.
Maintenance. The package itself is low-velocity and legacy-oriented, but the generated code is the real maintenance surface. Budget for auth controller and view upkeep, Bootstrap/Vue/React/Vite/npm dependency updates, Laravel upgrade compatibility, and security patches. Only the latest major receives fixes; older branches accumulate risk. If retained, assign an owner, pin versions, and define a review cadence. If removed, document that php artisan ui is no longer available and that generated code is fully application-owned.
Support. Laravel UI is MIT-licensed, maintained under the Laravel organization, and has README, changelog, release, and security-policy artifacts. It does not provide a commercial SLA. Community support is likely, but legacy guidance lowers strategic priority. TPMs should set internal expectations that this is not a strategic supported platform and should rely on internal Laravel expertise plus standard vulnerability scanning. If compliance requires vendor-backed support, Laravel UI is not a fit.
Scaling. Scaffolding does not directly affect runtime scaling. Auth load follows Laravel session, database, cache, and queue design. Generated Bootstrap views are simple and generally cache-friendly. Real scaling concerns are auth architecture—SSO, MFA, multi-tenancy, rate limiting, and audit—not Laravel UI itself. For high-scale or enterprise auth, use a dedicated identity provider or a more robust starter kit/custom implementation with tested controls. Frontend asset scaling through Vite is standard.
Failure modes. Common failure modes include Laravel/UI major mismatch, PHP/Node/Vite/Bootstrap/Vue/React incompatibility, auth misconfiguration around guards, remember-me, password reset, email verification, or throttling, route/view conflicts from generated files, accidental package removal before verifying references, stale generated auth code after Laravel upgrades, security regressions in copied auth flows, frontend build failures, and unexpected file overwrites from the Artisan command. Mitigate with an isolated prototype, diffs, pinned versions, automated auth tests, and security review.
Ramp-up. Ramp-up is low for Laravel developers familiar with Blade, Bootstrap, Composer, and Artisan, moderate for Vue/React presets and Vite, and higher for teams requiring modern auth, accessibility, or compliance. A TPM should budget a short spike by a Laravel engineer, a focused security review, and frontend build validation. Overall recommendation: leverage Laravel UI as a tactical scaffold for legacy Bootstrap-based Laravel applications with a documented exit plan; do not adopt it as the strategic auth or frontend foundation for new products.
How can I help you explore Laravel packages today?