A production-ready Laravel 12 starter kit with Vue 3, Inertia.js v2, Nuxt UI components, and Tailwind CSS v4. Complete authentication, beautiful UI components, and modern developer tools included.
jkque/laravel-nuxt-ui-starter-kit is a Laravel package for a production-ready laravel 12 starter kit with vue 3, inertia.js v2, nuxt ui components, and tailwind css v4. complete authentication, beautiful ui components, and modern developer tools included..
It currently has 182 GitHub stars and 1.160 downloads on Packagist.
Install it with composer require jkque/laravel-nuxt-ui-starter-kit.
Discover more Laravel packages by jkque
or browse all Laravel packages to compare alternatives.
Last updated
A production-ready Laravel 12 starter kit with Vue 3, Inertia.js v2, Nuxt UI components, and Tailwind CSS v4. Built for developers who want to start their next web application with modern tools and best practices already configured.
Skip the repetitive setup and start building features immediately. This starter kit provides:
Perfect for MVPs, SaaS applications, internal tools, or any Laravel project needing a modern frontend.
You may create a new project using the Laravel installer:
laravel new my-app --using=jkque/laravel-nuxt-ui-starter-kit
Or, you can create a new project using Composer's create-project command:
composer create-project jkque/laravel-nuxt-ui-starter-kit my-app
After creating the project, start the development server:
cd my-app
composer run dev
This will:
Your application will be available at http://localhost:8000.
You can also clone this repository directly:
git clone https://github.com/jkque/laravel-nuxt-ui-starter-kit.git my-app
cd my-app
composer setup
composer run dev
Once installed, you can immediately:
http://localhost:8000resources/js/pages/ to see implementation examplesThe starter kit includes:
This starter kit comes with everything you need to build modern web applications:
If you cloned the repository directly and need to set up manually, or want to customize the installation process:
# Install PHP dependencies
composer install
# Install JavaScript dependencies
npm install
# Copy environment file
cp .env.example .env
# Generate application key
php artisan key:generate
By default, this project uses SQLite. The database file will be created automatically during migration.
If you prefer MySQL or PostgreSQL, update your .env file:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
Run migrations:
php artisan migrate
npm run build
After installation, you can:
composer run dev to start all development servicesroutes/web.php and create corresponding Inertia pagesThe starter kit includes example pages demonstrating common patterns like forms, tables, navigation, and layouts. Use these as references while building your application.
This starter kit is structured to help you build applications quickly:
resources/js/pages/resources/js/components/resources/js/layouts/routes/web.php using Laravel Wayfinder for type-safetyresources/js/actions/resources/js/composables/The easiest way to start all development services:
composer run dev
This concurrently runs:
You can also run services individually:
# Laravel server
php artisan serve
# Vite dev server (hot reload)
npm run dev
# Queue worker
php artisan queue:listen
# Log viewer
php artisan pail
To run with Inertia SSR:
composer run dev:ssr
This project includes Laravel Sail for Docker-based development.
# Start containers
./vendor/bin/sail up -d
# Run migrations
./vendor/bin/sail artisan migrate
# Install JavaScript dependencies
./vendor/bin/sail npm install
# Build assets
./vendor/bin/sail npm run build
# Run Artisan commands
./vendor/bin/sail artisan <command>
# Run tests
./vendor/bin/sail test
# Run specific test
./vendor/bin/sail test --filter <testMethodName>
# Composer commands
./vendor/bin/sail composer <command>
# NPM commands
./vendor/bin/sail npm <command>
# Access shell
./vendor/bin/sail shell
This project uses Pest as the testing framework. All tests are written using Pest's expressive syntax.
composer test
This runs:
# All Pest tests
php artisan test
# Specific test file
php artisan test tests/Feature/ExampleTest.php
# Filter by test description
php artisan test --filter="test description"
# Run with coverage
composer run test:unit
# Type coverage check
composer run test:type-coverage
# Static analysis
composer run test:types
# All tests
./vendor/bin/sail test
# Feature tests only
./vendor/bin/sail test --testsuite=Feature
# Unit tests only
./vendor/bin/sail test --testsuite=Unit
# With coverage
./vendor/bin/sail test --coverage
# Filter by test description
./vendor/bin/sail test --filter="creates user"
Tests use Pest's expressive syntax:
it('creates a new user', function () {
$user = User::factory()->create();
expect($user)->toBeInstanceOf(User::class)
->and($user->email)->not->toBeEmpty();
});
test('user can login', function () {
$user = User::factory()->create();
$response = $this->post('/login', [
'email' => $user->email,
'password' => 'password',
]);
$response->assertSuccessful();
});
Create new tests with:
# Feature test
php artisan make:test UserTest --pest
# Unit test
php artisan make:test UserTest --pest --unit
# Fix all code style issues
composer run lint
# Check code style without fixing
composer run test:lint
Individual tools:
# PHP - Laravel Pint
vendor/bin/pint
# PHP - Rector
vendor/bin/rector
# JavaScript - ESLint
npm run lint
# JavaScript - Prettier
npm run format
# Check formatting
npm run format:check
.
├── app/ # Application code
│ ├── Http/ # Controllers, middleware, requests
│ ├── Models/ # Eloquent models
│ └── ...
├── bootstrap/ # Application bootstrap
├── config/ # Configuration files
├── database/ # Migrations, seeders, factories
├── public/ # Public assets
├── resources/ # Views, JavaScript, CSS
│ ├── js/
│ │ ├── Pages/ # Inertia.js pages
│ │ └── Components/ # Vue components
│ └── css/
├── routes/ # Route definitions
├── storage/ # Application storage
├── tests/ # Test files
│ ├── Feature/ # Feature tests
│ └── Unit/ # Unit tests
└── vendor/ # Composer dependencies
Key environment variables to configure:
# Application
APP_NAME=Laravel
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost
# Database
DB_CONNECTION=sqlite
# Session & Cache
SESSION_DRIVER=database
CACHE_STORE=database
QUEUE_CONNECTION=database
# Mail
MAIL_MAILER=log
If you don't see frontend changes reflected in the browser:
# Rebuild assets
npm run build
# Or restart dev server
npm run dev
If you encounter "Unable to locate file in Vite manifest" error:
npm run build
If you encounter permission issues with storage or cache:
chmod -R 775 storage bootstrap/cache
This project is open-sourced software licensed under the MIT license.