tightenco/lambo

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

Installs: 3 098

Dependents: 0

Suggesters: 0

Security: 0

Stars: 424

Watchers: 20

Forks: 49

Open Issues: 12

Type:project

v1.0.0-alpha5 2020-03-29 01:48 UTC

README

Lambo logo

Super-powered laravel new for Laravel and Valet.

NOTE: If you're working with the alpha, you'll need PHP 7.2, and this readme is currently out of date.The major change is that you'll want to run lambo new myApplication instead of lambo myApplication.

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

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."
  • Open the project in your editor
  • 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 new superApplication --editor=subl
  • -m or --message to set the first commit message.

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

    lambo new 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 new superApplication --dev
  • -a or --auth to use Artisan to scaffold all of the routes and views you need for authentication

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

    lambo new superApplication --node
  • -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 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
  • --dbuser specify the database username.

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

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

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

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

    lambo new superApplication --react

Commands

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