Automated installation of the TALL-stack (new package)⚡️

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?

Features

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
  • 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:

composer dump-autoload

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 --ddd or -d flag to the tall-install command:

php artisan tall-install --ddd

Wrapping up

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!

Stay up to date with all things Laravel, Tailwind, WordPress & PHP

Subscribe now to my e-mail newsletter and get my latest articles and project updates delivered directly to your inbox. Never miss an update.

Image Ralph J. Smit
Ralph is a designer gone developer. He happily lives in the Netherlands. His passion for good design drove him towards development, because he felt that no-code tools were too limiting. On this blog, Ralph writes the articles he would've wanted to have during his continual developer journey. → Follow on Twitter

Comments

Leave a reply

Your email address will not be published. Required fields are marked *

Close
Do you want more articles like this delivered straight to your inbox?

Subscribe now to my e-mail newsletter and get my latest articles and project updates delivered directly to your inbox. Never miss an update.