PHPackages                             tightenco/lambo - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. tightenco/lambo

AbandonedArchivedProject[DevOps &amp; Deployment](/categories/devops)

tightenco/lambo
===============

Super-powered 'laravel new' with Laravel and Valet.

v3.1.1(2y ago)6135.1k48[10 issues](https://github.com/tighten/lambo/issues)[2 PRs](https://github.com/tighten/lambo/pulls)MITPHPPHP ^8.0

Since Jul 17Pushed 2y ago19 watchersCompare

[ Source](https://github.com/tighten/lambo)[ Packagist](https://packagist.org/packages/tightenco/lambo)[ RSS](/packages/tightenco-lambo/feed)WikiDiscussions main Synced today

READMEChangelog (10)Dependencies (5)Versions (65)Used By (0)

[![Lambo logo](https://raw.githubusercontent.com/tighten/lambo/main/lambo-banner.png)](https://raw.githubusercontent.com/tighten/lambo/main/lambo-banner.png)

[![Run tests](https://github.com/tighten/takeout/workflows/Run%20tests/badge.svg?branch=main)](https://github.com/tighten/lambo/actions?query=workflow%3A%22Run+Tests%22)

**Super-powered `laravel new` for Laravel and Valet**

Lambo is a command-line tool that replaces the Laravel installer and wraps up the most common tasks you might take when creating a Laravel app: opening it in your editor and your browser, initialize a git repository, tweak your `.env` and `.env.example`, and more.

Requirements
============

[](#requirements)

- PHP 7.3+
- (optional, but beneficial) [Laravel Valet](https://laravel.com/docs/valet)

Installation
============

[](#installation)

```
composer global require tightenco/lambo:^3.0
```

Upgrading
=========

[](#upgrading)

```
composer global update tightenco/lambo
```

Usage
=====

[](#usage)

Make sure `~/.composer/vendor/bin` is in your terminal's path.

```
cd ~/Sites
lambo new myNextProject
```

What exactly does it do?
========================

[](#what-exactly-does-it-do)

- `laravel new $PROJECTNAME`
- Initialize a git repo, add all the files, and, after some changes below, make a commit with the text "Initial commit."
- Replace the `.env` (and `.env.example`) database credentials with the default macOS MySQL credentials: database of `$PROJECTNAME`, user `root`, and empty password
- Replace the `.env` (and `.env.example`) `APP_URL` with `$PROJECTNAME.$YOURVALETTLD`
- Generate an app key
- Open the project in your favorite editor
- Open `$PROJECTNAME.$YOURVALETTLD` in your browser

> Note: If your `$PROJECTNAME` has dashes (`-`) in it, they will be replaced with underscores (`_`) in the database name.

There are also a few optional behaviors based on the parameters you pass (or define in your config file), including creating a database, migrating, installing Jetstream, running Valet Link and/or Secure, and running a custom bash script of your definition after the fact.

Customizing Lambo
=================

[](#customizing-lambo)

While the default actions Lambo provides are great, most users will want to customize at least a few of the steps. Thankfully, Lambo is built to be customized!

There are three ways to customize your usage of Lambo: command-line arguments, a config file, and an "after" file.

Most users will want to set their preferred configuration options once and then never think about it again. That's best solved by creating a config file.

But if you find yourself needing to change the way you interact with Lambo on a project-by-project basis, you may also want to use the command-line parameters to customize Lambo when you're using it.

Creating a config file
----------------------

[](#creating-a-config-file)

You can create a config file at `~/.lambo/config` rather than pass the same arguments each time you create a new project.

The following command creates the file, if it doesn't exist, and edits it:

```
lambo edit-config
```

The config file contains the configuration parameters you can customize, and will be read on every usage of Lambo.

Creating an "after" file
------------------------

[](#creating-an-after-file)

You can also create an after file at `~/.lambo/after` to run additional commands after you create a new project.

The following command creates the file, if it doesn't exist, and edits it:

```
lambo edit-after
```

The after file is interpreted as a bash script, so you can include any commands here, such as installing additional composer dependencies...

```
# Install additional composer dependencies as you would from the command line.
echo "Installing Composer Dependencies"
composer require tightenco/mailthief tightenco/quicksand
```

...or copying additional files to your new project.

```
# To copy standard files to new lambo project place them in ~/.lambo/includes directory.
echo "Copying Include Files"
cp -R ~/.lambo/includes/ $PROJECTPATH
```

You also have access to variables from your config file such as `$PROJECTPATH` and `$CODEEDITOR`.

Using command-line parameters
-----------------------------

[](#using-command-line-parameters)

Any command-line parameters passed in will override Lambo's defaults and your config settings. See a [full list of the parameters you can pass in](#parameters).

Lambo Commands
==============

[](#lambo-commands)

- `help` or `help-screen` show the help screen

- `edit-config` edits your config file (and creates one if it doesn't exist)

    ```
    lambo edit-config
    ```
- `edit-after` edits your "after" file (and creates one if it doesn't exist)

    ```
    lambo edit-after
    ```

Configurable parameters
=======================

[](#configurable-parameters)

You can optionally pass one or more of these parameters every time you use Lambo. If you find yourself wanting to configure any of these settings every time you run Lambo, that's a perfect use for the [config files](#config-files).

- `-e` or `--editor` to define your editor command. Whatever is passed here will be run as `$EDITOR .` after creating the project.

    ```
    # runs "subl ." in the project directory after creating the project
    lambo new superApplication --editor=subl
    ```
- `-p` or `--path` to specify where to install the application.

    ```
    lambo new superApplication --path=~/Sites
    ```
- `-m` or `--message` to set the first Git commit message.

    ```
    lambo new superApplication --message="This lambo runs fast!"
    ```
- `-f` or `--force` to force install even if the directory already exists

    ```
    # Creates a new Laravel application after deleting ~/Sites/superApplication
    lambo new superApplication --force
    ```
- `-d` or `--dev` to choose the `develop` branch instead of `master`, getting the beta install.

    ```
    lambo new superApplication --dev
    ```
- `-b` or `--browser` to define which browser you want to open the project in.

    ```
    lambo new superApplication --browser="/Applications/Google Chrome Canary.app"
    ```
- `-l` or `--link` to create a Valet link to the project directory.

    ```
    lambo new superApplication --link
    ```
- `-s` or `--secure` to secure the Valet site using https.

    ```
    lambo new superApplication --secure
    ```
- `--create-db` to create a new MySQL database which has the same name as your project. This requires `mysql` command to be available on your system.

    ```
    lambo new superApplication --create-db
    ```
- `--migrate-db` to migrate your database.

    ```
    lambo new superApplication --migrate-db
    ```
- `--dbuser` to specify the database username.

    ```
    lambo new superApplication --dbuser=USER
    ```
- `--dbpassword` specify the database password.

    ```
    lambo new superApplication --dbpassword=SECRET
    ```
- `--dbhost` specify the database host.

    ```
    lambo new superApplication --dbhost=127.0.0.1
    ```
- `--breeze=STACK` to use the Laravel Breeze starter kit. `STACK` may be either `blade`, `vue` or `react`.

    ```
    lambo new superApplication --breeze=blade
    lambo new superApplication --breeze=vue
    lambo new superApplication --breeze=react
    ```
- `--jetstream=STACK[,teams]` to use the Laravel Jetstream starter kit. `STACK` may be either `inertia` or `livewire`.

    ```
    lambo new superApplication --jetstream=inertia
    lambo new superApplication --jetstream=inertia,teams
    lambo new superApplication --jetstream=livewire
    lambo new superApplication --jetstream=livewire,teams
    ```
- `--full` to use `--create-db`, `--migrate-db`, `--link`, and `-secure`.

    ```
    lambo new superApplication --full
    ```

**GitHub Repository Creation**

**Important:** To create new repositories Lambo requires one of the following tools to be installed:

- the official [GitHub command line tool](https://github.com/cli/cli#installation)
- the [hub command line tool](https://github.com/github/hub#installation)

Lambo will give you the option to continue without GitHub repository creation if neither tool is installed.

- `-g` or `--github` to Initialize a new private GitHub repository and push your new project to it.

```
# Repository created at https://github.com//superApplication
lambo new superApplication --github
```

- Use `--gh-public` with `--github` to make the new GitHub repository public.

```
lambo new superApplication --github --gh-public
```

- Use `--gh-description` with `--github` to initialize the new GitHub repository with a description.

```
lambo new superApplication --github --gh-description='My super application'
```

- Use `--gh-homepage` with `--github` to initialize the new GitHub repository with a homepage url.

```
lambo new superApplication --github --gh-homepage=https://example.com
```

- Use `--gh-org` with `--github` to initialize the new GitHub repository with a specified organization.

```
# Repository created at https://github.com/acme/superApplication
lambo new superApplication --github --gh-org=acme
```

---

For contributors:
=================

[](#for-contributors)

Process for release
-------------------

[](#process-for-release)

If you're working with us and are assigned to push a release, here's the easiest process:

1. Visit the [Lambo Releases page](https://github.com/tighten/lambo/releases); figure out what your next tag will be (increase the third number if it's a patch or fix; increase the second number if it's adding features)
2. On your local machine, pull down the latest version of `main` (`git checkout main && git pull`)
3. Build for the version you're targeting (`./lambo app:build`)
4. Run the build once to make sure it works (`./builds/lambo`)
5. Commit your build and push it up
6. [Draft a new release](https://github.com/tighten/lambo/releases/new) with both the tag version and release title of your tag (e.g. `v1.5.1`)
7. Set the body to be a bullet-point list with simple descriptions for each of the PRs merged, as well as the PR link in parentheses at the end. For example:

    `- Add a superpower (#92)`
8. Hit `Publish release`
9. Profit

Notes for future development
----------------------------

[](#notes-for-future-development)

- All new configuration keys must be added to the `$newConfiguration` property in `UpgradeSavedConfiguration`
- All removed or deprecated configuration keys must be added to the `$removedConfigurationKeys` property in `UpgradeSavedConfiguration`
- Any time configuration keys are changed, the `$configurationVersion` property in `UpgradeSavedConfiguration` needs to be incremented

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity41

Moderate usage in the ecosystem

Community29

Small or concentrated contributor base

Maturity82

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 57.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~45 days

Recently: every ~97 days

Total

58

Last Release

1060d ago

Major Versions

v0.5.5 → v1.0.0-alpha12020-03-20

v1.2.0 → v2.0.02022-03-01

2.0.1 → v3.0.02022-03-30

PHP version history (6 changes)v0.1.1PHP &gt;=5.5.9

v1.0.0-alpha1PHP ^7.2

v1.0.0beta1PHP ^7.2.5

v1.0.0beta4PHP ^7.2.5|^8.0

v1.0.0beta5PHP ^7.3|^8.0

v2.0.0PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/151829?v=4)[Matt Stauffer](/maintainers/mattstauffer)[@mattstauffer](https://github.com/mattstauffer)

---

Top Contributors

[![jonsugar](https://avatars.githubusercontent.com/u/1974648?v=4)](https://github.com/jonsugar "jonsugar (369 commits)")[![mattstauffer](https://avatars.githubusercontent.com/u/151829?v=4)](https://github.com/mattstauffer "mattstauffer (199 commits)")[![milose](https://avatars.githubusercontent.com/u/2998029?v=4)](https://github.com/milose "milose (18 commits)")[![quickliketurtle](https://avatars.githubusercontent.com/u/1762128?v=4)](https://github.com/quickliketurtle "quickliketurtle (9 commits)")[![santigarcor](https://avatars.githubusercontent.com/u/7565417?v=4)](https://github.com/santigarcor "santigarcor (5 commits)")[![Naoray](https://avatars.githubusercontent.com/u/10154100?v=4)](https://github.com/Naoray "Naoray (4 commits)")[![nowendwell](https://avatars.githubusercontent.com/u/5315824?v=4)](https://github.com/nowendwell "nowendwell (3 commits)")[![muhammetsait](https://avatars.githubusercontent.com/u/8684452?v=4)](https://github.com/muhammetsait "muhammetsait (3 commits)")[![ijpatricio](https://avatars.githubusercontent.com/u/26031459?v=4)](https://github.com/ijpatricio "ijpatricio (3 commits)")[![sbine](https://avatars.githubusercontent.com/u/1902973?v=4)](https://github.com/sbine "sbine (3 commits)")[![burakerdem](https://avatars.githubusercontent.com/u/244163?v=4)](https://github.com/burakerdem "burakerdem (2 commits)")[![curtisblackwell](https://avatars.githubusercontent.com/u/468029?v=4)](https://github.com/curtisblackwell "curtisblackwell (2 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")[![kraveir0](https://avatars.githubusercontent.com/u/2004955?v=4)](https://github.com/kraveir0 "kraveir0 (2 commits)")[![Lovatt](https://avatars.githubusercontent.com/u/1025914?v=4)](https://github.com/Lovatt "Lovatt (2 commits)")[![philip](https://avatars.githubusercontent.com/u/42943?v=4)](https://github.com/philip "philip (2 commits)")[![nunomaduro](https://avatars.githubusercontent.com/u/5457236?v=4)](https://github.com/nunomaduro "nunomaduro (1 commits)")[![peter279k](https://avatars.githubusercontent.com/u/9021747?v=4)](https://github.com/peter279k "peter279k (1 commits)")[![WyattCast44](https://avatars.githubusercontent.com/u/17957937?v=4)](https://github.com/WyattCast44 "WyattCast44 (1 commits)")[![lukeberry99](https://avatars.githubusercontent.com/u/1644147?v=4)](https://github.com/lukeberry99 "lukeberry99 (1 commits)")

---

Tags

laravelzondawwdhhdlambo

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tightenco-lambo/health.svg)

```
[![Health](https://phpackages.com/badges/tightenco-lambo/health.svg)](https://phpackages.com/packages/tightenco-lambo)
```

###  Alternatives

[cpriego/valet-linux

A more enjoyable local development experience for Linux.

1.5k137.6k](/packages/cpriego-valet-linux)[laravel/valet

A more enjoyable local development experience for Mac.

2.6k920.1k14](/packages/laravel-valet)[genesisweb/valet-linux-plus

Advanced local development experience for Linux.

18515.9k](/packages/genesisweb-valet-linux-plus)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
