Lambo: quick new application creation with Laravel and Valet

Jamison Valenta
4 minute read

Imagine, if you will, a web developer who, for some reason, wants to spin up a Laravel app to develop in as quickly as humanly possible. Maybe this developer wants to write a blog post about a new feature in Laravel, or wants a quick test application to write some demo code for a potential client. Or, perhaps, our developer wants to throw together a live demo to show a potential employer during a technical interview. Imagine our mythical developer, who wants a presentable MVP as soon as possible, has built so many SaaSes they thought to build a SaaS for naming SaaSes.

Laravel should be an easy choice for that, right?

car wash infomercial fail

It's the best there is, for sure, but there are still a lot of steps to a new Laravel application. More than there have to be, anyway.

The number of steps to creating a new Laravel applicaion might end up being just enough work that, next time you find yourself needing a new app to test in, you may instead use an online tool like 3v4l, or one of your existing Laravel projects.

However, as the scope of your "quick little test" grows, you may find yourself regretting you didn't just create a new app. And if you're using an existing project... just pray you remember to git reset HEAD --hard when you're done.

What if I told you that with only three easy payments of ABSOLUTELY NOTHING you can spin up a Laravel application at will in a single terminal command?

Introducing Lambo. It's called Lambo because it makes your Laravel app creation process mind-blowingly fast.



The Lambo Github Repo has more detailed informaion about installation and configuration options, but here's your general process:

composer global require tightenco/lambo

It installs so quickly, you'll feel the fresh air blowing through your hair in no time.

nick cage in con air

What does Lambo offer beyond what laravel new and Valet already offer?

laravel new is a powerful tool that makes installing new Laravel apps much faster. And Laravel Valet is a powerful tool that makes it super-easy to spin up development domains for your local apps.

But even using laravel new and Lambo, there are still a few steps you need to take manually to spin up a new site. Lambo takes care of those steps for you.

Lambo uses laravel new to initialize your application, but it doesn't stop there. Here are the highlights:

  • Initialize your git repository, execute the initial commit
  • Fills in your .env file, adding database credentials and Valet-correct APP_URL
  • Opens your default browser to Valet-specific application URI.
  • Makes it possible (with flags) to automatically open up the site in your editor

How We Use It

We still use Homestead sometimes. But if you're creating a new app in Laravel and planning to serve it with Valet, there's no reason not to use Lambo.

Just like Valet, Lambo is opinionated and takes questions off of your plate. Just use Lambo's defaults. Boom. There's your site.

We use Lambo primarily for proof-of-concept, bug testing, and scaffolding new applications. This is particularly useful when pair programming. Need to workshop an issue in a less-complex environment to see if the problem is your own lunacy, or an actual bug? Need to get a fast-as-possible brain dump from your project lead on the project's function and general code design? Our process usually goes like this:

  1. Start Screenhero session
  2. Spin up new project with Lambo
  3. Do the thing

Some times step 4 is "Delete the folder and move on with your day."

Sometimes step 4 is "Commit the changes, push to GitHub."

Sometimes a Lambo-spun project later moves to a custom Vagrant box or just to Homestead.

Whatever we do, it pretty much goes like this, except instead of a pan, we fry the egg on the engine block of a Lambo:

blowing a fried egg out of a frying pan