In my day-to-day workflow I mainly use Laravel for my projects. In particular, the TALL-stack. TALL is an acronym for Tailwind CSS, Alpine.js, Laravel and Livewire. Combined into one project, these four tools can immensely speed up the developer and provide a great developer experience. Installing multiple tools is always quite boring, so that’s why I made a package to automated their installation.
The name of the package is
ralphjsmit/tall-install and you can find it on GitHub. The tagline says that it is an ‘Easy command to install the TALL-stack & jumpstart development🚀‘. Sounds promising, right?
So, what does it exactly do? I already said that it basically takes a fresh Laravel-installation and runs the regular installation process for your favorite TALL-stack tools. So, what does it install?
- Tailwind CSS
- Tailwind CSS Forms
- Tailwind CSS Typography
- Alpine.js Trap
- Filament Admin Form Builder
- Filament Admin Table Builder
- Laravel Livewire
- Toast TALL-notifications
There are also options to:
- Configure Browsersync for Laravel Valet users
- Install Pest instead of PHPUnit
- Configure a DDD-file structure
How does it work?
First, you need a fresh Laravel-installation.
composer create-project laravel/laravel name
It can also be used on existing installations, but please make a back-up if you use it on an existing installation. It can have unintended consequences.
Next, install the package:
composer require ralphjsmit/tall-install
Now, do the magic🪄
php artisan tall-install # For the options, see the docs on GitHub: https://github.com/ralphjsmit/tall-install#installation--usage
Boom! You now have a fully-functioning Laravel-installation based on the TALL-stack.
Finally, we’ll do a little clean-up as well:
That was easy right?
Configuring a Laravel-project with DDD
Another feature worth mentioning is that this package can also refactor the application to make use of a Domain-driven folder structure. Using Domain-driven Design for an application is a great way to make it more maintainable and scalable. I highly recommend checking it out.
To use DDD, append the
-d flag to the
php artisan tall-install --ddd
If you want to exactly know how your project will look like after installation, take a look at the two demo repositories I prepared for your:
Those repositories will be kept automatically up-to-date with GitHub Actions every time there is a new release.
I hope this package will be useful for your in starting development on new projects! It certainly is for me. If it was useful and you’ve saved yourself a lot of time, I’d highly appreciate if if you could spare a minute and star the repo on GitHub✨.
As always, feel free to open an issue or leave a comment with your ideas and questions!