tightenco/lambo

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

Installs: 2 687

Dependents: 0

Suggesters: 0

Security: 0

Stars: 389

Watchers: 19

Forks: 46

Open Issues: 8

Language:Shell

Type:project

v0.5.5 2019-12-03 17:03 UTC

README

Lambo logo

Super-powered laravel new for Laravel and Valet.

Installation

For Laravel >= 6

composer global require tightenco/lambo

For Laravel 5.*

composer global require tightenco/lambo:"^0.4.7"

Upgrading

composer global update tightenco/lambo

If this doesn't get you the latest version, check the file at ~/.composer/composer.json. If your version spec for Lambo is ^0.1.#, change it to be ~0.1.

Usage

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

cd ~/Sites
lambo superApplication

This will laravel new superApplication, change into that directory, make an initial Git commit, and open your web browser to that app.

What exactly does it do?

  • laravel new $PROJECTNAME
  • cd $PROJECTNAME
  • Initialize a git repo, add all of the files, and make a commit with the text "Initial commit."
  • Replace the .env database credentials with the default Mac MySQL credentials: database of $PROJECTNAME, user root, and empty password
  • Replace the .env APP_URL with $PROJECTNAME.$YOURVALETTLD
  • Open $PROJECTNAME.$YOURVALETTLD in your browser

Note that, in case 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).

Optional Arguments

  • -h or --help to get the help dialog

    lambo --help
  • -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 superApplication --editor subl
  • -m or --message to set the first commit message.

    lambo superApplication --message "This lambo runs fast!"
  • -p or --path to specify where to install the application.

    lambo superApplication --path ~/Sites
  • -q or --quiet use quiet/silent mode for git, yarn/npm and laravel installer.

  • -d or --dev to choose the develop branch instead of master, getting the beta install

    lambo superApplication --dev
  • -a or --auth to use Artisan to scaffold all of the routes and views you need for authentication

    lambo superApplication --auth
  • -n or --node to run yarn if installed, otherwise runs npm install after creating the project

    lambo superApplication --node
  • -b or --browser to define which browser you want to open the project in.

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

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

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

    lambo superApplication --create-db
  • --dbuser specify the database username.

    lambo superApplication --dbuser USER
  • --dbpassword specify the database password.

    lambo superApplication --dbpassword SECRET
  • --vue to set the frontend to the default Laravel 5.* scaffolding (set by default)

    lambo superApplication --vue
  • --bootstrap to set the frontend to Bootstrap

    lambo superApplication --bootstrap
  • --react to set the frontend to React

    lambo superApplication --react

Commands

  • make-config creates a config file so you don't have to pass the parameters every time you use Lambo

    lambo make-config
  • edit-config edits your config file

    lambo edit-config
  • make-after creates an "after" file so you can run additional commands after Lambo finishes

    lambo make-after
  • edit-after edits your after file

    lambo edit-after

Config File

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

lambo make-config

If you wish to edit your config file later on you can always use the edit command:

lambo edit-config

After File

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

lambo make-after

The after file is 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.

Requirements

A Linux fork of Valet can be found here

Acknowledgements

Inspired by Taylor Otwell and Adam Wathan's work on Valet.

Name from TJ Miller, inspired by Taylor's love for the lambo.