https://github.com/rvxlab/laravel-halt-starter
A heavily opinionated starter for the HALT stack with focus on strictness and type safety
https://github.com/rvxlab/laravel-halt-starter
alpinejs halt-stack htmx laravel laravel-starter-kit tailwindcss
Last synced: 2 months ago
JSON representation
A heavily opinionated starter for the HALT stack with focus on strictness and type safety
- Host: GitHub
- URL: https://github.com/rvxlab/laravel-halt-starter
- Owner: RVxLab
- License: mit
- Created: 2025-06-07T03:14:56.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-06T10:08:05.000Z (11 months ago)
- Last Synced: 2026-04-13T21:43:09.384Z (3 months ago)
- Topics: alpinejs, halt-stack, htmx, laravel, laravel-starter-kit, tailwindcss
- Language: Blade
- Homepage:
- Size: 206 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
```shell
laravel new --using rvxlab/laravel-halt-starter
```
# Laravel HALT Stack Starter Kit
A heavily opinionated starter kit for Laravel that bundles essential tooling with the simplicity of the HALT Stack into a jumping off point.
## Requirements
- PHP 8.4
- [Bun](https://bun.sh/) (Can be replaced with your package manager of choice, see below)
## Features
- HALT Stack fully set up and ready to roll, just add the `@vite` directive into your layout
- HTMX Macros
- Request headers
## Installed Packages
The following packages come pre-installed:
- [Htmx](https://htmx.org)
- [AlpineJS](https://alpinejs.dev)
- [Lefthook](https://lefthook.dev)
- [Octane](https://laravel.com/docs/octane)
- [FrankenPHP](https://frankenphp.dev)
- [Pest](https://pestphp.com)
- [Arch Plugin](https://pestphp.com/docs/arch-testing)
- [Laravel Plugin](https://pestphp.com/docs/plugins#laravel)
- [PHPStan](https://phpstan.org)
- [Larastan](https://github.com/larastan/larastan)
- [Pint](https://laravel.com/docs/pint)
- [Prettier](https://prettier.io)
- [Rector](https://getrector.com)
### Pint
The Pint config is based on [Nuno Maduro's Essentials package](https://github.com/nunomaduro/essentials) with some tweaks:
- Uses PER preset
- [Groups Imports](https://cs.symfony.com/doc/rules/import/group_import.html)
- By extension, disables [Single Import Per Statement](https://cs.symfony.com/doc/rules/import/single_import_per_statement.html)
- [New With Parenthesis](https://cs.symfony.com/doc/rules/operator/new_with_parentheses.html)
- Disabled for anonymous classes
- [No Unused Imports](https://cs.symfony.com/doc/rules/import/no_unused_imports.html)
- [Yoda Style](https://cs.symfony.com/doc/rules/control_structure/yoda_style.html)
### PHPStan
By default, PHPStan is set to level 10.
### Bun
By default, this starter kit uses [Bun](https://bun.sh) to manage JavaScript dependencies. If you prefer to use a different one, do the following:
- Delete `bun.lock`
- Update `bun` references with the equivalent of your preferred package manager in:
- `composer.json`
- `lefthook.yaml`
- `maskfile.md`
- `package.json`
- Delete the `node_modules` folder
- Reinstall your JavaScript dependencies
## Common Scripts
Common scripts as handled using [Mask](https://github.com/jacobdeichert/mask).
While these are useful, you're not required to have Mask installed.