Download the PHP package tightenco/lambo without Composer
On this page you can find all versions of the php package tightenco/lambo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package lambo
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
- PHP 7.3+
- (optional, but beneficial) Laravel Valet
Installation
Upgrading
Usage
Make sure ~/.composer/vendor/bin
is in your terminal's path.
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
, userroot
, 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
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
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:
The config file contains the configuration parameters you can customize, and will be read on every usage of Lambo.
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:
The after file is interpreted as a bash script, so you can include any commands here, such as installing additional composer dependencies...
...or copying additional files to your new project.
You also have access to variables from your config file such as $PROJECTPATH
and $CODEEDITOR
.
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.
Lambo Commands
help
orhelp-screen
show the help screen
-
edit-config
edits your config file (and creates one if it doesn't exist) edit-after
edits your "after" file (and creates one if it doesn't exist)
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.
-
-e
or--editor
to define your editor command. Whatever is passed here will be run as$EDITOR .
after creating the project. -
-p
or--path
to specify where to install the application. -
-m
or--message
to set the first Git commit message. -
-f
or--force
to force install even if the directory already exists -
-d
or--dev
to choose thedevelop
branch instead ofmaster
, getting the beta install. -
-b
or--browser
to define which browser you want to open the project in. -
-l
or--link
to create a Valet link to the project directory. -
-s
or--secure
to secure the Valet site using https. -
--create-db
to create a new MySQL database which has the same name as your project. This requiresmysql
command to be available on your system. -
--migrate-db
to migrate your database. -
--dbuser
to specify the database username. -
--dbpassword
specify the database password. -
--dbhost
specify the database host. -
--breeze=STACK
to use the Laravel Breeze starter kit.STACK
may be eitherblade
,vue
orreact
. -
--jetstream=STACK[,teams]
to use the Laravel Jetstream starter kit.STACK
may be eitherinertia
orlivewire
. -
--full
to use--create-db
,--migrate-db
,--link
, and-secure
.bash
Repository created at https://github.com/
/superApplication lambo new superApplication --github bash lambo new superApplication --github --gh-public bash lambo new superApplication --github --gh-description='My super application' bash lambo new superApplication --github --gh-homepage=https://example.com bash
Repository created at https://github.com/acme/superApplication
lambo new superApplication --github --gh-org=acme
For contributors:
Process for release
If you're working with us and are assigned to push a release, here's the easiest process:
- Visit the Lambo Releases page; 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)
- On your local machine, pull down the latest version of
main
(git checkout main && git pull
) - Build for the version you're targeting (
./lambo app:build
) - Run the build once to make sure it works (
./builds/lambo
) - Commit your build and push it up
- Draft a new release with both the tag version and release title of your tag (e.g.
v1.5.1
) -
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)
- Hit
Publish release
- Profit
Notes for future development
- All new configuration keys must be added to the
$newConfiguration
property inUpgradeSavedConfiguration
- All removed or deprecated configuration keys must be added to the
$removedConfigurationKeys
property inUpgradeSavedConfiguration
- Any time configuration keys are changed, the
$configurationVersion
property inUpgradeSavedConfiguration
needs to be incremented
All versions of lambo with dependencies
ext-json Version *
ext-pdo Version *
ext-intl Version *