kamona/fortify-bootstrap
Bootstrap-styled authentication views for Laravel Fortify. Drop-in Blade templates replace Fortify’s default Tailwind screens for login, registration, password reset, and related auth flows, making it easy to match Bootstrap-based Laravel applications.
composer require kamona/fortify-bootstrap). Verify the resolved laravel/fortify constraint — the package pins an old Fortify major, so it may force a downgrade on modern apps.FortifyServiceProvider and enables Fortify.npm install && npm run dev (or npm run build), then check resources/sass/app.scss and resources/js/app.js actually import Bootstrap and Bootstrap Icons. Run php artisan migrate for the users/2FA tables./login, /register, /forgot-password, /user/profile, and /user/two-factor-authentication. A fresh internal admin tool or back-office app is the ideal fit — you get Fortify's backend (auth, password reset, profile updates, 2FA) with styled Blade forms instead of hand-rolling them.Where to look first: the README (only authoritative source), config/fortify.php, app/Providers/FortifyServiceProvider.php, and the published resources/views/auth/* and resources/views/profile/*.
config/fortify.php feature flags. Toggle Features::registration(), updateProfileInformation(), updatePasswords(), twoFactorAuthentication(), emailVerification(). When you disable a feature, prune the corresponding nav links and views — the package's navigation assumes everything is on.app/Actions/Fortify/CreateNewUser, UpdateUserProfileInformation, UpdateUserPassword, plus Fortify::authenticateUsing(), Fortify::redirects(), and Fortify::*View() bindings in the service provider.@extends/component wrappers so auth screens inherit your real navigation, flash messages, and asset stack. If the package ships anonymous components (inputs, buttons, validation errors), copy them into resources/views/components and edit there.twoFactorAuthentication in config, publish Fortify's migrations, and confirm bacon/bacon-qr-code and pragmarx/google2fa are installed — otherwise the QR/recovery-code screens render but fail.resources/views/admin/auth) and point Fortify::loginView() etc. at them per guard/provider. Fortify is effectively single-guard, so keep admin and public auth on separate route groups or separate apps rather than fighting the pipeline.laravel/fortify views and port the deltas into your copies.vite.config.js, resources/js/app.js, and resources/sass/app.scss, then delete the stale build config.--force silently clobbers your edits. Publish once, commit, and use tag-scoped publishing (--tag=...) for anything you need to re-pull.config/fortify.php 'views' => true is set while the package expects custom view names, or vice versa. Check Fortify::loginView() and the views key together./login definitions. Run php artisan route:list --path=login and remove the other provider.LoginRequest and actions expect email, password, password_confirmation, code, recovery_code. Restyle the markup freely, but keep the name attributes and the @csrf token.php artisan route:list --path=user (Fortify routes registered?), php artisan about (providers loaded?), storage/logs/laravel.log (view/missing-class errors), and confirm the service provider is listed in config/app.php or bootstrap/providers.php.Fortify::ignoreRoutes() + your own routes, custom LoginResponse/TwoFactorLoginResponse implementations, and middleware around the Fortify route group.composer.lock.How can I help you explore Laravel packages today?