softpulze/laravibe-vue
| Install | |
|---|---|
composer require softpulze/laravibe-vue |
|
| Latest Version: | v0.1.1 |
| PHP: | ^8.4 |
| Laravel: | 13 |
| Older releases: | 12 |
| License: | MIT |
| Last Updated: | Jun 15, 2026 |
| Links: | GitHub · Packagist |
LaraVibe-Vue
A modern Laravel + Inertia.js + Vue 3 starter kit — skip the boilerplate, build your app.
Introduction
LaraVibe-Vue is an open-source starter kit that combines the backend power of Laravel 13 with a fully typed Vue 3 frontend via Inertia.js v3 — giving you a modern SPA feel without sacrificing the simplicity of classic server-side routing and controllers.
Out of the box you get authentication, account management, an administration area, SSR support, type-safe route helpers, and a curated set of developer tooling — all wired together and ready to go.
Tech Stack
Every package in this stack was chosen deliberately. Nothing is here for show — each one earns its place by solving a real problem well.
Core
The backbone. These three working together is what makes LaraVibe-Vue feel different from a traditional Laravel app or a standalone SPA.
| Package | Version | Why it's here |
|---|---|---|
| Laravel | 13 | The application framework — routing, ORM, auth, jobs, mail, and everything in between |
| Inertia.js | 3 | The bridge — write server-side controllers, get a full SPA on the frontend, no API required |
| Vue 3 | 3 | Reactive UI with the Composition API — clean, typed, and a joy to work in |
Frontend
| Package | Version | Why it's here |
|---|---|---|
| Tailwind CSS | 4 | Utility-first styling — design directly in your markup, no context switching |
| Reka UI | 2 | Headless, accessible UI primitives — the foundation for the bundled shadcn-vue components |
| VueUse | 12 | Hundreds of battle-tested Vue composables so you don't write them from scratch |
| TypeScript | 5 | End-to-end type safety across your entire frontend codebase |
| Vite+ | 1 | Vite-powered dev server and builds plus integrated lint, format, and type-aware checks |
| Lucide Vue | 1 | Clean, consistent icon library (@lucide/vue) with tree-shaking out of the box |
| vue-sonner | 2 | The Vue renderer behind the built-in toast notification system |
Developer Experience & Tooling
| Package | Version | Why it's here |
|---|---|---|
| Laravel Wayfinder | 0.x | Auto-generates TypeScript route functions from your PHP controllers — no hardcoded URLs, ever |
| Pest | 5 | The most expressive PHP testing framework available today |
| Larastan | 3 | PHPStan tuned for Laravel — catches type errors and N+1 risks before they ship |
| Laravel Pint | 1 | Opinionated PHP formatter — your code style is decided, consistently, forever |
| Rector | 2 | Automated PHP refactoring and upgrade rules — future-proofs your codebase |
| Laravel Fortify | 1 | Headless authentication backend — login, registration, password reset, email verification, 2FA |
| LaraVibe Standards | 0.x | Shared DTO, enum, and API resource conventions with matching generators and AI guidelines |
| Laravel Pail | 1 | Real-time log tailing right in your terminal — no more tail -f storage/logs/laravel.log |
| Laravel Sail | 1 | Docker environment for teams that prefer containers over local installs |
Features
LaraVibe-Vue isn't just a scaffold — it's a carefully assembled foundation that solves the boring problems so you can focus on what makes your product unique.
For Your Users
🔐 Authentication — Complete, Out of the Box
Full auth flows, ready on day one, powered by Laravel Fortify — the same backend the official Laravel starter kits use. No wiring up forms manually.
- Registration & login with email/password
- Password reset via email — the full flow, already working, without revealing which emails have accounts
- Email verification — prompt users to verify before accessing protected areas
- Confirmable password (sudo mode) — re-prompt for the password before sensitive operations like deleting an account or changing security settings
- Two-factor authentication — TOTP via any authenticator app, with QR code setup, confirmation, and one-time recovery codes
- Passkeys — passwordless sign-in and password confirmation with WebAuthn (Touch ID, Face ID, Windows Hello, security keys), including browser autofill
- Security headers —
nosniff, frame, referrer, permissions and opener policies on every response, plus HSTS over HTTPS in production
👤 Account Management — The Pages Users Expect
Users expect to manage their own profile. LaraVibe-Vue ships those pages pre-built so you don't have to.
- Profile — update name and email address, with email re-verification on change
- Security — behind password confirmation: change password (signs out your other devices), manage two-factor authentication and passkeys, and review or log out your other browser sessions (database session driver)
- Appearance — light, dark, and system theme switcher that persists across sessions
- Error pages — 403, 404, 419, 500 and 503 render as styled Inertia pages inside your layout (server errors keep Laravel's debug page while
APP_DEBUGis on)
🛡️ Administration Area — Protected and Ready to Extend
A dedicated /administration section, guarded by middleware, with a dashboard page waiting for your content. Add your admin features without worrying about route structure or access control from scratch.
For Developers
🤖 AI-Ready from Day One
LaraVibe-Vue ships with Laravel Boost integration, providing AI agents with complete codebase context — schema inspection, database queries, real-time error logs, and semantic documentation search.
Agent files are generated per developer, not committed, so everyone picks the agents they actually use. After cloning, run:
php artisan boost:install
When prompted for third-party packages, select thesoftpulze/laravibe-standards. Boost then writes AGENTS.md / CLAUDE.md, skills, and MCP config for your chosen agents. These combine the project guidelines in .ai/guidelines (actions, auth, support, toasts) with the DTO, enum, and resource guidelines and skills shipped by thesoftpulze/laravibe-standards. Run php artisan boost:update after updating packages to refresh them; it prompts for any newly installed packages that ship guidelines.
🛠️ Developer Tooling — Full Power, Zero Configuration
Most starter kits leave you to wire up your own code quality tools. LaraVibe-Vue ships with a complete, pre-configured professional toolchain — the same setup senior engineers spend days assembling on real projects, ready to go from your very first commit.
| Tool | What it does |
|---|---|
| Pest 5 | Expressive, readable PHP tests — the best testing experience in the Laravel ecosystem |
| Larastan (PHPStan max) | Catches bugs before they reach production — static analysis tuned for Laravel |
| Laravel Pint | Zero-config PHP code formatter — your code always looks clean, always |
| Rector | Automated PHP refactoring and upgrades — keeps your codebase modern without manual effort |
| Vite+ lint (Oxlint) | Fast, type-aware linting for TypeScript and Vue files |
| Vite+ fmt (Oxfmt) | Frontend formatting with Tailwind class sorting — consistent across .vue and .ts |
| vue-tsc | Full type checking for Vue single-file components |
Everything is wired into composer scripts so the whole team uses the same workflow, and GitHub Actions runs the same checks on every push and pull request. One command before you push — composer review — and you know your code is clean, typed, formatted, and tested. No arguments, no setup, no excuses.
New team member? They get the full toolchain the moment they clone the repo. Senior dev? Nothing to configure. It's already right.
⚡ Type-Safe Routing with Laravel Wayfinder
Tired of hardcoded URLs breaking silently? Wayfinder auto-generates fully-typed TypeScript functions for every controller action and named route — straight from your PHP code into your Vue components. It runs automatically during composer dev and npm run build, so your frontend and backend are always in sync.
<!-- No more magic strings. Just types. -->
<Link :href="AccountController.edit().url()">My Account</Link>
🖥️ SSR Out of the Box
Server-side rendering is configured and ready. Powered by @inertiajs/vite in cluster mode, your app serves fast initial HTML to every visitor — great for SEO and perceived performance — without any extra setup on your part.
🎨 shadcn-vue UI Components
Pre-configured via components.json with Reka UI as the headless base. Beautiful, accessible, unstyled-by-default components you can drop in and style with Tailwind. Add new components with a single command:
npx shadcn-vue@latest add button
🍞 Toast Notifications — Architected, Not Hacked In
The toast system is a first-class citizen, not an afterthought. It has its own service layer, typed DTOs, and a Vue renderer that handles every case. Toasts travel as Inertia flash data, so they show exactly once and never replay from browser history. Trigger toasts from anywhere on the backend with a single helper:
toastSuccess('Profile updated.');
toastError('Something went wrong.');
See app/Toast/README.md for the full architecture and usage guide.
🔑 Auth Composable — No Prop Drilling
Access the authenticated user anywhere in Vue without passing props down the tree. The useAuth composable gives you everything you need:
const { user, isAuthenticated, can, requireUser } = useAuth()
user— the current user ornullfor guestsrequireUser()— non-null user on protected pages, no optional-chaining noisecan('publishPost')— UI gating backed by real server-side ability checksisAuthenticated— boolean flag for conditional rendering
See resources/composables/README.md for the full guide.
🧱 Structured Architecture You'll Actually Enjoy
Every part of the app has a clear home and a convention to follow — documented with READMEs so your whole team stays consistent:
| Layer | Purpose | Docs |
|---|---|---|
| Actions | Single-responsibility business operations | README |
| DTOs | Typed data transfer objects (PageMeta, BreadCrumb) |
README |
| Enums | Backed enums with shared behavior | README |
| HTTP Resources | Eloquent serialization for API & Inertia | README |
DTO, enum, and resource conventions come from the thesoftpulze/laravibe-standards package, which also provides make:dto and the published make:enum / make:resource stubs.
| Support | Framework utilities and helpers | README |
| Toast | Self-contained notification system | README |
Project Structure
app/
├── Actions/ # Single-responsibility actions (incl. Fortify actions)
├── Concerns/ # Shared validation rules (password, profile)
├── DTOs/ # Typed data transfer objects (PageMeta, BreadCrumb)
├── Enums/ # Backed enums using HasEnumMetadata
├── Http/
│ ├── Controllers/ # Account controllers (auth is handled by Fortify)
│ ├── Middleware/ # Custom middleware
│ ├── Requests/ # Form request validation
│ ├── Resources/ # Eloquent API resources
│ └── Responses/ # Fortify response overrides
├── Models/ # Eloquent models
├── Providers/ # App and Fortify service providers
├── Support/ # Framework support utilities
└── Toast/ # Self-contained toast notification system
resources/
├── actions/ # Auto-generated Wayfinder controller actions (gitignored)
├── components/ # Shared Vue components & shadcn-vue UI
├── composables/ # Vue composables (useAuth, useAppearance, …)
├── layouts/ # Page layouts (Account, Auth, Guest, Administration)
├── routes/ # Auto-generated Wayfinder named routes (gitignored)
├── views/ # Inertia pages (auth/, account/, administration/)
├── wayfinder/ # Auto-generated Wayfinder runtime helper (gitignored)
└── app.ts # Frontend entry point
Requirements
- PHP 8.4+
- Composer
- Node.js 22+ & npm
- SQLite / MySQL / PostgreSQL
Installation
1. Create the project
If you have the Laravel CLI installer installed, this is the fastest way to get started:
laravel new my-app --using=softpulze/laravibe-vue
cd my-app
Prefer Composer? This works equally well:
composer create-project softpulze/laravibe-vue my-app
cd my-app
Or clone the repository directly:
git clone https://github.com/softpulze/laravibe-vue.git my-app
cd my-app
cp .env.example .env
composer install
php artisan key:generate
2. Configure your environment
Edit .env and set your database connection (SQLite is the default):
DB_CONNECTION=sqlite
# DB_CONNECTION=mysql
# DB_HOST=127.0.0.1
# DB_DATABASE=laravibe
# DB_USERNAME=root
# DB_PASSWORD=
Set your application URL and mail settings as needed.
3. Run migrations
php artisan migrate
4. Install frontend dependencies
npm install
5. Start the development server
composer dev
This runs php artisan dev, which starts the dev processes (Vite, queue listener, Pail log watcher) together.
If you are using Laravel Herd, open your local Herd URL (for example: https://my-app.test).
If you are not using Herd, run php artisan serve in another terminal.
Available Scripts
Everything you need for your daily workflow is a single command away. No need to remember a chain of tools, flags, or file paths — just use the script that matches what you're doing right now.
Starting development
composer dev
This is the only command you'll need to kick off your day. It runs php artisan dev, starting the Vite dev server, a queue listener, and Pail log watcher — all at once, in a single terminal. Open your browser and start building.
Setting up a fresh clone? composer setup installs dependencies, creates .env, generates the key, migrates, and builds assets in one go.
If you're on Laravel Herd, your site is already available at
https://my-app.test— no extra server command needed.
Running tests
composer test # Run the full test suite
composer test:coverage # Run with coverage report
Or go straight to Pest:
composer pest # Pest with compact output
composer pest:coverage # Pest with coverage
Keeping code clean
You shouldn't have to think about formatting or style — these scripts handle it for you:
composer format # Format PHP (Pint) + frontend (Vite+ fmt) in one go
composer format:check # Check formatting without writing any changes
composer lint # Auto-fix PHP (Rector) + JS/TS (Vite+ lint) issues
composer lint:check # Check for lint issues without fixing
Need to target one tool specifically?
composer pint # Format PHP code with Laravel Pint
composer pint:check # Check PHP formatting only
composer phpstan # Run Larastan static analysis
composer types:check # Larastan + vue-tsc type checks
composer rector # Apply Rector refactoring
composer rector:check # Preview Rector changes without applying
npm run check # Vite+ format + lint check for the frontend
npm run check:fix # ...and fix what it can
Pre-commit / CI review
Before pushing or opening a PR, run the full quality check in one command:
composer review
This is an alias of composer ci:check: lint checks, format checks, static analysis and type checks, and tests — everything that matters, in one pass. It's exactly what GitHub Actions runs, so if it passes locally, it'll pass in CI.
Building for production
composer build # Build frontend assets
composer build:ssr # Build frontend + SSR bundle (recommended for production)
Or use npm directly if you prefer:
npm run build
npm run build:ssr
Keeping dependencies fresh
composer deps:update # Update both Composer and npm packages together
composer update:composer # Update Composer packages only
composer update:npm # Update npm packages only
Miscellaneous
composer logs:delete # Wipe log files from storage/logs
Using Laravel Wayfinder
Wayfinder is integrated with Vite and auto-generates typed TypeScript helpers for all your controllers and named routes whenever you run composer dev or npm run build — no manual step required.
Import and use them in your Vue components:
import AccountController from '@/actions/App/Http/Controllers/Account/AccountController'
import { home } from '@/routes'
<!-- In a template -->
<Link :href="AccountController.edit().url()">Account</Link>
The generated files live in resources/actions, resources/routes and resources/wayfinder, and are gitignored. To regenerate them manually, run php artisan wayfinder:generate --with-form. The app overrides this command so it writes to resources/ by default; don't pass --path.
For the full API and advanced usage, refer to the official Wayfinder documentation.
Testing & Code Quality
Run the full test suite:
composer test
Filter to a specific test:
php artisan test --compact --filter=AccountController
Run the full quality review before pushing:
composer review
See Available Scripts for the complete list of individual tool commands.
Docker (Laravel Sail)
If you prefer Docker, Laravel Sail is included:
./vendor/bin/sail up -d
./vendor/bin/sail artisan migrate
./vendor/bin/sail npm run dev
Deployment
LaraVibe-Vue can be deployed to any environment that supports PHP 8.4. For the fastest path to production, use Laravel Cloud.
Before deploying, build your frontend assets and run:
composer build:ssr # build frontend + SSR bundle
php artisan config:cache
php artisan route:cache
php artisan view:cache
Contributing
Contributions are welcome. If you find a bug, have a feature idea, or want to improve the documentation — please open an issue or pull request on GitHub.
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes and run
composer reviewto ensure everything passes - Push and open a pull request with a clear description of what changed and why
License
LaraVibe-Vue is open-sourced software licensed under the MIT license.
Related Packages
Personal Laravel 12 + Vue 3 + Inertia.js starter kit with authentication.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v0.1.1 | ^8.4 | ^13.0 | MIT | |
| v0.1.0 | ^8.4 | ^13.0 | MIT | |
| v0.0.2 | ^8.2 | ^12.0 | MIT | |
| v0.0.1 | ^8.2 | ^12.0 | MIT | |
| v0.0.0 | ^8.2 | ^12.0 | MIT |