artisan-build / laravel-nodeless
A Laravel Livewire starter kit with no Node, npm, Vite, or frontend build step.
Package info
github.com/artisan-build/laravel-nodeless
Type:project
pkg:composer/artisan-build/laravel-nodeless
Requires
- php: ^8.3
- laravel/chisel: ^0.1.0
- laravel/fortify: ^1.37.2
- laravel/framework: ^13.7
- laravel/tinker: ^3.0
- livewire/flux: ^2.13.1
- livewire/livewire: ^4.1
Requires (Dev)
- barryvdh/laravel-ide-helper: ^3.6
- driftingly/rector-laravel: ^2.1
- fakerphp/faker: ^1.24
- larastan/larastan: ^3.9
- laravel/pail: ^1.2.5
- laravel/pao: ^1.0.6
- laravel/pint: ^1.27
- laravel/sail: ^1.53
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.9.3
- pestphp/pest: ^4.7
- pestphp/pest-plugin-laravel: ^4.1
- phpstan/phpstan: ^2.1
- rector/rector: ^2.3
This package is auto-updated.
Last update: 2026-06-09 12:02:54 UTC
README
Laravel Nodeless is a Laravel starter kit for building Livewire applications without a frontend build system.
It starts from Laravel's official Livewire starter kit, then removes Node, npm, Vite, Tailwind compilation, and all related CI steps. The result is a PHP-first application scaffold that can be installed, developed, tested, and deployed with Composer and Laravel tooling only.
Philosophy
Laravel is productive because the framework gives you a cohesive, batteries-included path for building server-rendered applications. This starter kit keeps that path intentionally small:
- No Node runtime requirement.
- No npm install step.
- No Vite dev server.
- No frontend build step in local development, CI, or deployment.
- Livewire and Flux remain the primary UI layer.
- Static CSS, JavaScript, and fonts are checked in under
public/buildand served directly by Laravel.
This tradeoff is deliberate. You give up an editable Tailwind/Vite pipeline in exchange for a starter kit that works in PHP-only environments and has fewer moving parts.
What's Included
- Laravel 13
- Livewire 4
- Flux 2
- Fortify authentication
- Two-factor authentication
- Passkey support
- Prebuilt Tailwind/Flux assets served from
public/build
What's Removed
package.jsonpackage-lock.jsonnode_modulesvite.config.jsresources/css/app.cssresources/js/*- npm and Vite steps from Composer scripts and GitHub Actions
Installation
Create a new Laravel application using this starter kit:
laravel new {project} --using=artisan-build/laravel-nodeless
Replace {project} with the directory name for your new application.
Getting Started
Install dependencies and prepare the application:
composer install cp .env.example .env php artisan key:generate php artisan migrate
Run the development server:
php artisan serve
Run the test suite:
php artisan test
Composer Scripts
This starter kit includes an opinionated Composer workflow for keeping Laravel applications ready to ship:
composer setupinstalls dependencies, creates.env, generates the app key, and runs migrations.composer devstarts Laravel's local development server without Vite or Node.composer lintruns Laravel Pint and fixes PHP style issues.composer test:lintruns Laravel Pint in check-only mode.composer lint:checkis an alias for the check-only Pint run.composer rectorruns Rector with the Laravel code quality, collection, and Laravel level sets.composer stanruns PHPStan through Larastan at level 6.composer testclears cached config, checks PHP formatting, and runs the Laravel test suite.composer ide-helperregenerates Laravel IDE Helper files and model mixins.composer readyruns IDE helper generation, Rector, Pint, PHPStan, tests, and Composer audit.composer reportruns Rector, Pint, PHPStan, tests, and Composer audit as a non-blocking report.composer ci:checkruns the default project test check used by this starter kit.php artisan freshresets the database to a fresh, seeded state. You can add additional steps to set your application up for local development.php artisan flux:proinstalls Flux Pro by adding the Flux Pro Composer repository and requiringlivewire/flux-pro. This assumes your Flux Pro credentials are already saved globally; if they are not, runphp artisan flux:activateinstead.
Working With Assets
The starter kit intentionally does not require a source asset pipeline. Application CSS, font CSS, fonts, and the passkey browser helper are committed as static files in public/build/assets.
By default, there is still no frontend build step. The application loads public/build/assets/app.css, public/build/assets/fonts.css, and public/build/assets/passkeys.js directly.
If CSS size matters or you add Tailwind classes and want to regenerate the checked-in CSS, run the opt-in optimizer:
php artisan tailwind:optimize
The command downloads the standalone Tailwind CSS CLI for your operating system, caches it under storage/app/tools, scans the configured Tailwind sources, and writes the optimized output to public/build/assets/app.css. It does not require Node, npm, or Vite, and it is not part of the default setup or CI workflow.
You can force a fresh CLI download or change paths when needed:
php artisan tailwind:optimize --force-download php artisan tailwind:optimize --tailwind-version=v4.3.0 php artisan tailwind:optimize --input=resources/css/tailwind.css --output=public/build/assets/app.css
Repository
This project lives at artisan-build/laravel-nodeless.