@golevelup/laravel-cli

A delightful CLI for Docker based Laravel developer environments and the cloud

Usage no npm install needed!

<script type="module">
  import golevelupLaravelCli from 'https://cdn.skypack.dev/@golevelup/laravel-cli';
</script>

README

A delightful CLI for Docker based Laravel developer environments and the cloud

oclif Version Downloads/week License

Motivation

There are two main goals for this project:

  1. Provide fully containerized developer environments for building Laravel applications
  2. Adhere to the concept of development/production parity by ensuring that development environments are as close as possible to their production counterpart and can easily be deployed.

Fully Containerized

Every component in a Laravel Up project is containerized, including the PHP runtime itself. This means that there is actually no requirement to have PHP installed on your developer machine.

All the tools you would expect to have are included inside of the Laravel Up CLI. This includes PHP, Artisan, Composer and Tinker.

Dev Prod Parity

Laravel Up creates a Web Server container based on NGINX and an App Container based on PHP FPM 7.3.

Unlike other tools in the ecosystem like Laradock and Vessel, the container images created for you aim to be easily configurable and suitable for actual deployments to containerized environments including Kubernetes AWS ECS and Azure Container Instances.

Features

  • Cross platform support. Works on Windows, Linux and Mac
  • Simple Docker containers that are easily configurable and suitable for deployment
  • Automatically configures XDebug
  • Supports MySQL and Postgres environments
  • Automatically configures Laravel ENV to connect to services in the Docker network

CLI

Usage

$ npm install -g @badassery/laravel-up
$ lvl COMMAND
running command...
$ lvl (-v|--version|version)
@badassery/laravel-up/0.5.1 linux-x64 node-v10.15.3
$ lvl --help [COMMAND]
USAGE
  $ lvl COMMAND
...

Commands

lvl artisan [COMMAND]

Runs an artisan command in the current directory

USAGE
  $ lvl artisan [COMMAND]

ARGUMENTS
  COMMAND  The command to pass to artisan. Omit this to see available commands

OPTIONS
  -h, --command-help  Passes --help to the underlying artisan command

See code: src/commands/artisan.ts

lvl command-base

USAGE
  $ lvl command-base

See code: src/commands/command-base.ts

lvl composer [COMMAND]

Executes a Composer command in the current directory

USAGE
  $ lvl composer [COMMAND]

ARGUMENTS
  COMMAND  The command to pass to composer. Omit this to see available commands

OPTIONS
  -h, --command-help  Passes --help to the underlying composer command

See code: src/commands/composer.ts

lvl configure [DIRECTORY]

Configures an existing vanilla Laravel app as an Up project

USAGE
  $ lvl configure [DIRECTORY]

ARGUMENTS
  DIRECTORY  The target directory for Laravel Up

OPTIONS
  -h, --help  show CLI help

See code: src/commands/configure.ts

lvl down [DIRECTORY]

Stops a running Laravel Up environment

USAGE
  $ lvl down [DIRECTORY]

ARGUMENTS
  DIRECTORY  The target directory for Laravel Up

OPTIONS
  -d, --destroy  Stops Docker containers and removes all volumes
  -v, --verbose  Include additional diagnostic logs

See code: src/commands/down.ts

lvl help [COMMAND]

display help for lvl

USAGE
  $ lvl help [COMMAND]

ARGUMENTS
  COMMAND  command to show help for

OPTIONS
  --all  see all commands in CLI

See code: @oclif/plugin-help

lvl new

Creates a new Laravel Up project

USAGE
  $ lvl new

OPTIONS
  -v, --verbose  Include additional diagnostic logs

See code: src/commands/new.ts

lvl target-directory-command

USAGE
  $ lvl target-directory-command

See code: src/commands/target-directory-command.ts

lvl up [DIRECTORY]

Starts a Laravel Up environment

USAGE
  $ lvl up [DIRECTORY]

ARGUMENTS
  DIRECTORY  The target directory for Laravel Up

OPTIONS
  -v, --verbose  Include additional diagnostic logs

See code: src/commands/up.ts