teknovate/vibeui
VibeUI is a Laravel UI component package that helps you build styled, reusable interface elements with minimal markup. It aims to streamline frontend work in Blade views, though documentation and adoption remain limited.
vibeui is a pre-1.0 Laravel UI package (currently 0.8.0), so treat the README and CHANGELOG.md as the source of truth for the exact API surface — the release notes only confirm the new alert/flash feature.
composer require teknovateid/vibeui (pin ^0.8 deliberately; see Gotchas).php artisan vendor:publish --provider="TeknovateId\VibeUI\VibeUIServiceProvider" — check for tagged publishes (config vs. views vs. assets) rather than publishing everything blindly.config/vibeui.php (prefixes, component namespace, asset paths) and the package's resources/views/ directory to see the component inventory before writing any markup yourself.<x-vibeui::alert type="success">Saved.</x-vibeui::alert>, then confirm the asset/CSS pipeline is loading.For v0.8.0 specifically, the first thing to try is the flash flow: redirect with session()->flash(...) from a controller and confirm the alert renders on the next page load without any extra wiring.
return redirect()->route('posts.index')->with('vibeui_alert', [
'type' => 'success',
'message' => 'Post created.',
]);
Confirm the exact key and shape the package expects — the release notes don't spell it out, so check docs/ or the component class. Where possible, wrap this in a small helper or a FlashMessage trait on your base controller so the key lives in one place.layouts/app.blade.php (or a partials/flash.blade.php) so every page gets it, rather than repeating the component per view.->with('success', ...) / ->with('error', ...), either migrate call sites or add a middleware/view composer that translates legacy keys into the vibeui structure. This keeps the change incremental across a large codebase.<x-app-alert> that enforces your icon, dismiss behaviour, and copy conventions, so a future package bump doesn't ripple into every view.0.x, a minor bump (0.7.2 → 0.8.0) is allowed to break things under semver. Pin "teknovateid/vibeui": "~0.8.0" and read the changelog before each upgrade; don't rely on ^0.7-style ranges to protect you.->with() for redirects; session()->now() only when you intend it to survive within the same request.@vibeuiStyles/@vibeuiScripts directive in your layout and whether your build actually includes the package's source paths in tailwind.config.js content — missing that yields unstyled alerts.session()->all()); is the component actually in the layout; does the component namespace match the config prefix.resources/views/errors/* and mail templates usually don't extend your app layout, so flashes and package assets won't appear there — that's expected, but worth a conscious decision.vendor/teknovateid/vibeui/) rather than the main branch — you may be reading docs for an unreleased version.How can I help you explore Laravel packages today?