luis-developer-08 / yui-hero_ui
This setup is designed for developers who want a lightweight, modern, and efficient foundation for building Laravel applications with a React frontend powered by InertiaJs and Hero UI
Installs: 19
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Language:JavaScript
Type:project
Requires
- php: ^8.2
- inertiajs/inertia-laravel: ^2.0
- laravel/framework: ^12.0
- laravel/pulse: ^1.4
- laravel/sanctum: ^4.0
- laravel/tinker: ^2.10.1
- spatie/laravel-permission: ^6.16
- tailflow/laravel-orion: ^2.23
- tightenco/ziggy: ^2.0
Requires (Dev)
- fakerphp/faker: ^1.23
- laravel/breeze: ^2.3
- laravel/pail: ^1.2.2
- laravel/pint: ^1.13
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- pestphp/pest: ^3.7
- pestphp/pest-plugin-laravel: ^3.1
README
π Introduction
Welcome to my personal laravel installer YUI! This setup is designed for developers who want a lightweight, modern, and efficient foundation for building Laravel applications with a React frontend powered by Inertia.js.
This kit is JavaScript-first, using JSX instead of TSX, making it accessible to developers who prefer plain JavaScript over TypeScript. It includes React 19, TailwindCSS 4, and Breeze for simple authentication and scaffolding.
π― Features
βοΈ Laravel β Laravel provides a complete ecosystem for web artisans.
βοΈ Laravel Breeze β Lightweight authentication with Inertia.js.
βοΈ Laravel Pulse β delivers at-a-glance insights into your application's performance and usage.
βοΈ Orion β The simplest way to create REST API with Laravel.
βοΈ Inertia.js β Create modern single-page React, Vue, and Svelte apps using classic server-side routing.
βοΈ React 19 + JSX β Simple, clean, and TypeScript-free.
βοΈ React Icons β Include popular icons in your React projects easily with react-icons.
βοΈ TanStack Query β Powerful asynchronous state management for TS/JS.
βοΈ Zustand β A small, fast, and scalable bearbones state management solution.
βοΈ Laravel-Spatie-permission β Associate users with roles and permissions.
βοΈ TailwindCSS 4 β Modern styling with utility-first CSS.
βοΈ Vite-Powered β Lightning-fast HMR for smooth development.
βοΈ Pre-configured Testing β Includes PHPUnit & Pest.
βοΈ Hero UI β Beautiful, fast and modern React UI library for building accessible and customizable web applications.
βοΈ Quick Setup β Get started in minutes!
π Getting Started
1οΈβ£ Install the Yui Installer
Install the Yui installer globally using Composer: luis-developer-08/yui-installer
composer global require luis-developer-08/yui-installer
2οΈβ£ Create a New Laravel Project
Use the Yui installer to generate a new Laravel project:
yui new my-laravel-app
3οΈβ£ Select Your Database
During installation, you will be prompted to choose a database. Select the one you want by entering the corresponding number:
[0] sqlite [1] mysql
4οΈβ£ Choose a UI Provider
[0] None [1] Hero UI
5οΈβ£ Navigate to Your Project Directory
After the project is created, navigate to the project folder:
cd my-laravel-app
6οΈβ£ Start the Development Server
Run the following command to start the development server:
composer run dev
π Your application is now configured and running!
β‘ Create Inertia Components Easily
This starter kit includes a custom Artisan command to quickly generate Inertia.js React components with flexible directory options.
ποΈ Generate a New Component
php artisan make:inertia Components/MyComponent
This will create:
resources/js/Components/MyComponent.jsx
π Flexible Folder Placement
You can specify different folders using flags:
-c
or--components
: Create the component inresources/js/Components/
-l
or--layouts
: Create the component inresources/js/Layouts/
-s
or--sections
: Create the component inresources/js/Sections/
-p
or--pages
: Create the component inresources/js/Pages/
β Example usage with flags:
php artisan make:inertia Dashboard -p
Creates:
resources/js/Pages/Dashboard.jsx
You can also create nested folders like:
php artisan make:inertia Components/Auth/Login
Creates:
resources/js/Components/Auth/Login.jsx
β¨ Example Generated Component
import React from "react"; const MyComponent = () => { return <div>{/* MyComponent component */}</div>; }; export default MyComponent;
π Smart Behavior
- Automatically prevents duplicate folder nesting.
- Opens the newly created file in your default editor.
- Ensures the correct folder placement, whether using flags or specifying the path.
This command ensures that components are placed in the correct directory and prevents overwriting existing files. It also automatically opens the newly created file for editing.
β‘ Create Orion Controllers Easily
This starter kit also includes a command to quickly generate Orion controllers along with their associated models:
ποΈ Generate a New Orion Controller
php artisan make:orion PostController
This will create:
app/Http/Controllers/Orion/PostController.php
app/Models/Post.php
(if it doesnβt exist)- Adds a route in
routes/api.php
π File Structure
app/Http/Controllers/Orion/PostController.php
app/Models/Post.php
β¨ Example Generated Controller
<?php namespace App\Http\Controllers\Orion; use Orion\Http\Controllers\Controller; use App\Models\Post; class PostController extends Controller { protected $model = Post::class; }
π Auto-Registered Route in routes/api.php
Orion::resource('posts', \App\Http\Controllers\Orion\PostController::class)->middleware(['auth', 'web']);
This command ensures that controllers are correctly placed, models are created if missing, and routes are automatically registered.
π Documentation
For more details on YUI, visit the official YUI Website.
π Feature Documentation Links
- Laravel
- Laravel Breeze
- Laravel Pulse
- Orion
- Inertia.js
- React
- React Icons
- TanStack Query
- Zustand
- Spatie Permission
- TailwindCSS
- Vite
- Pest
- Hero UI
π€ Contributing
We welcome contributions! Check out the Yui Installer contribution guide to get involved.
π Code of Conduct
Be kind and respectful. Please follow Yui's Code of Conduct.
βοΈ License
This installer is open-source under the MIT license.