ilhamsyabani/laravel-volt-starter

A modern, MIT-licensed Laravel starter kit using Livewire Volt, Laravel Folio, and Tailwind CSS โ€” 20+ custom UI components, theming system, and CRUD generators included.

Maintainers

Package info

github.com/ilhamsyabani/laravel-volt-starter

Language:Blade

pkg:composer/ilhamsyabani/laravel-volt-starter

Transparency log

Statistics

Installs: 7

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.3.3 2026-06-17 16:11 UTC

This package is auto-updated.

Last update: 2026-06-17 16:20:03 UTC


README

Latest Version on Packagist Total Downloads License

A modern, opinionated Laravel starter kit using Livewire Volt, Laravel Folio, Flux UI, and Tailwind CSS.
Stop repeating yourself โ€” get a production-ready structure in minutes.

โœจ What's Included

Feature Detail
๐Ÿงฉ Livewire Volt Single-file reactive components
๐Ÿ“‚ Laravel Folio File-based page routing
๐ŸŽจ 20 UI Components Tier 1 + Tier 2 โ€” Button, Input, Textarea, Select, Checkbox, Radio, Toggle, Badge, Card, Alert, Toast, Spinner, Modal, Dropdown, Table, Pagination, Tabs, Breadcrumb, Avatar, Tooltip, Skeleton, Empty State โ€” 100% MIT, no license needed
๐ŸŒˆ Theme System CSS-variable based โ€” switch entire color scheme with one class (theme-rose, theme-emerald, theme-amber, theme-sky, or build your own)
๐Ÿ” Auth scaffolding Login, register, email verify, password reset
๐Ÿ‘ฅ Role system superadmin, admin, user out of the box
๐ŸŒ™ Dark mode Full dark mode with persisted preference
๐Ÿ”” Toast notifications Global notify system, stackable
๐Ÿ“ฑ Responsive sidebar Mobile-ready navigation with Alpine.js
๐Ÿ› ๏ธ CRUD generator volt-starter:crud Post and you're done
๐Ÿ“„ Page generator volt-starter:page users/index --auth
๐Ÿ–ผ๏ธ Component Showcase Built-in /showcase page to preview & test themes

๐ŸŽจ Theming

All components use CSS variables defined in resources/css/volt-starter.css. Switch the entire color scheme by adding a class to <html>:

<html class="theme-rose">   <!-- or theme-emerald, theme-amber, theme-sky -->

Or define your own theme:

.theme-custom {
  --vs-primary-500: 168 85 247; /* your RGB values */
  --vs-primary-600: 147 51 234;
  --vs-primary-700: 126 34 206;
  /* ... */
}

No paid component library required โ€” everything is plain Tailwind + Blade.

๐Ÿš€ Installation

composer require ilhamsyabani/laravel-volt-starter

Then run the install command:

# Basic install (layouts + dashboard)
php artisan volt-starter:install

# With authentication scaffolding
php artisan volt-starter:install --auth

# With auth + role system
php artisan volt-starter:install --auth --roles

โš™๏ธ Requirements

  • PHP ^8.2
  • Laravel ^11.0 or ^12.0
  • Livewire Volt ^1.0
  • Laravel Folio ^1.0
  • Tailwind CSS (via Vite) โ€” already in fresh Laravel installs

๐Ÿ› ๏ธ Generator Commands

Generate a Volt + Folio page

# Creates resources/views/pages/products/index.blade.php
php artisan volt-starter:page products/index --auth

# Bare minimum (no boilerplate)
php artisan volt-starter:page reports/monthly --bare

Generate full CRUD pages

# Basic CRUD for a Post model
php artisan volt-starter:crud Post

# With specific fields
php artisan volt-starter:crud Product --fields=name:string,description:text,price:string,stock:integer

This generates:

resources/views/pages/
โ””โ”€โ”€ products/
    โ”œโ”€โ”€ index.blade.php    โ†’ GET /products
    โ”œโ”€โ”€ create.blade.php   โ†’ GET /products/create
    โ””โ”€โ”€ [product]/
        โ””โ”€โ”€ edit.blade.php โ†’ GET /products/{product}/edit

๐Ÿ“ Published File Structure

After running volt-starter:install --auth --roles:

resources/views/
โ”œโ”€โ”€ components/
โ”‚   โ”œโ”€โ”€ layouts/
โ”‚   โ”‚   โ”œโ”€โ”€ app.blade.php          # Main layout wrapper
โ”‚   โ”‚   โ””โ”€โ”€ app/
โ”‚   โ”‚       โ””โ”€โ”€ sidebar.blade.php  # Navigation + toast system
โ”‚   โ””โ”€โ”€ ui/
โ”‚       โ”œโ”€โ”€ button.blade.php       # Extended button component
โ”‚       โ””โ”€โ”€ badge.blade.php        # Role/status badge
โ””โ”€โ”€ pages/
    โ”œโ”€โ”€ dashboard.blade.php        # Main dashboard
    โ”œโ”€โ”€ auth/
    โ”‚   โ”œโ”€โ”€ login.blade.php
    โ”‚   โ”œโ”€โ”€ register.blade.php
    โ”‚   โ””โ”€โ”€ forgot-password.blade.php
    โ””โ”€โ”€ settings/
        โ””โ”€โ”€ profile.blade.php

๐Ÿ”” Toast Notification System

Available everywhere via Livewire dispatch:

// In any Volt component
$this->dispatch('notify', type: 'success', message: 'Saved!');
$this->dispatch('notify', type: 'error',   message: 'Something went wrong.');
$this->dispatch('notify', type: 'warning', message: 'Please check your input.');
$this->dispatch('notify', type: 'info',    message: 'Processing...');

๐Ÿ‘ฅ Role System

When installed with --roles, a role column is added to users table:

// In any Volt component or middleware
auth()->user()->role // 'superadmin' | 'admin' | 'user'

// Helper trait (included)
use Ilhamsyabani\VoltStarter\Traits\HasRoles;

$user->isAdmin();       // true if admin or superadmin
$user->isSuperAdmin();  // true if superadmin
$user->isUser();        // true if user

๐Ÿ’ก Why This Package?

Laravel already ships with Breeze and Jetstream โ€” but neither of them uses the modern Volt + Folio approach. If you've adopted Livewire Volt's single-file component style and Laravel Folio's file-based routing, you know there's no starter kit for this combination.

This package fills that gap.

๐Ÿค Contributing

Pull requests are welcome! Please read CONTRIBUTING.md first.

git clone https://github.com/ilhamsyabani/laravel-volt-starter
cd laravel-volt-starter
composer install
./vendor/bin/pest

๐Ÿ“„ License

MIT โ€” see LICENSE

Built with โค๏ธ by ilhamsyabani ยท Indonesia ๐Ÿ‡ฎ๐Ÿ‡ฉ