PHPackages                             rhyslees/laravel-installer-plus - 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. [CLI &amp; Console](/categories/cli)
4. /
5. rhyslees/laravel-installer-plus

AbandonedArchivedProject[CLI &amp; Console](/categories/cli)

rhyslees/laravel-installer-plus
===============================

Laravel Installer Plus

1.2.1(3y ago)17291MITPHPPHP ^8.0

Since Jun 17Pushed 3y ago1 watchersCompare

[ Source](https://github.com/RhysLees/laravel-installer-plus)[ Packagist](https://packagist.org/packages/rhyslees/laravel-installer-plus)[ Docs](https://rhyslees.co.uk/laravel-installer-plus)[ RSS](/packages/rhyslees-laravel-installer-plus/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (6)Dependencies (4)Versions (12)Used By (0)

Laravel Installer Plus
======================

[](#laravel-installer-plus)

 [![License](https://camo.githubusercontent.com/9fc07553f86cc558d783dae7fc7163c750b5a675164d1873b0b93e492a5ba23e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f726879736c6565732f6c61726176656c2d696e7374616c6c65722d706c75732e737667)](https://packagist.org/packages/rhyslees/laravel-installer-plus)

#### This is a **community project** and not an official Laravel one

[](#this-is-a-community-project-and-not-an-official-laravel-one)

- This is a cli tool for the installation of laravel.
- It will install the laravel application and the packages you specify.

> Built with [Laravel Zero](https://laravel-zero.com/).

---

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

[](#requirements)

- [Laravel Installer](https://laravel.com/docs/#the-laravel-installer)
- [Composer](https://getcomposer.org/download).
- [PHP](https://www.php.net/) 8.0 or higher.

> IMPORTANT: This Package assumes that you have laravel-installer, composer and php installed globally.

---

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

[](#installation)

```
$ composer global require rhyslees/laravel-installer-plus
$ laravel-installer-plus install
```

Your configuration is stored in `$HOME/.laravel-installer-plus/config.json`

---

Documentation
=============

[](#documentation)

---

Options
-------

[](#options)

All Laravel Installer options are included in Laravel Installer plus so you can optionally pass them.

```
    --dev : Create a development environment
    --git : Initialize a git repository
    --branch : Initialize the application with the given branch
    --github : Create a new repository on GitHub
    --organization : The GitHub under the given organization
    --jet : Installs the Laravel Jetstream scaffolding
    --stack : The Jetstream stack that should be installed
    --teams : Indicates whether Jetstream should be scaffolded with team support
    --prompt-jetstream : Issues a prompt to determine if Jetstream should be installed
    --force : Overwrite existing files

```

> NOTE: If you use options such as `--git` for every appliction you can add them to `laravel-options` in the config and they will be appended to the command so you dont need to specifiy them manually (see example below).

```
"laravel-options": {
    "--branch": "green",
    "--git": true
},
```

---

Project Install Location
------------------------

[](#project-install-location)

- The location where the laravel application will be installed.

If you have a directory where all projects exist, you can set it `install-location` in `$HOME/.laravel-installer-plus/config.json`. This will then run the install commands to that directory no matter where you run the command from.

When changing this remember you only specify the path relative to your home directory.

> macOS / GNU / Linux Distributions: `$HOME/`

For example if you use a folder named `Projects` in your home directory, you can set the install location to `Projects`.

```
"install-location": "Projects"
```

Leaving this option as an empty string will use the current directory.

> NOTE: If you are unsure if you have set this correctly, you can check by running `laravel-installer-plus location {name}` which will output where it would install the application.

---

Packages to install
-------------------

[](#packages-to-install)

- The packages that will be installed.
- The `composer` and `npm`.
- You can change this in the config.json file.
- You need add packages to the `packages` array.
- Specify the key of the package you want to install

### Packages to install Example

[](#packages-to-install-example)

```
"packages-to-install": {
    "composer": [
        "spatie-laravel-ray",
        "barryvdh-laravel-debugbar",
    ],
    "npm": [
        "laravel-echo",
        "pusher-js"
    ]
},
```

---

Packages
--------

[](#packages)

- The package that can be installed.
- You can change this in the config.json file.
- The packages are installed in the order you specify.
- You can install packages with both composer and npm.

### Package Example

[](#package-example)

```
"packages": {
    "composer": [
        {
            "name": "Laravel Ray",
            "key": "spatie-laravel-ray",
            "commands": [
                "composer require spatie/laravel-ray",
                "php artisan ray:publish-config"
            ]
        }
    ],
    "npm": [
        {
            "name": "Laravel Echo",
            "key": "echo",
            "commands": [
                "npm i laravel-echo",
            ],

        }
    ]
},
```

---

Repositories
------------

[](#repositories)

If you need to require a private package, first add the package to the `packages->composer` array. You can then add the repository to the `repositories` array.

```
"repositories": [
    {
        "key": "",
        "name": "",
        "type": "",
        "url": ""
    }
],
```

`key` must match the package key. `name` is the name of the package (see example below). `type` is the type of repository. `url` is the url of the repository.

With VCS:

```
"repositories": [
    {
        "key": "spatie-laravel-ray",
        "name": "laravel-ray",
        "type": "vcs",
        "url": "https://github.com/spatie/laravel-ray"
    }
],
```

With Path (symlink):

```
"repositories": [
    {
        "key": "spatie-laravel-ray",
        "name": "laravel-ray",
        "type": "path",
        "url": "../../Packages/spatie/laravel-ray"
    }
],
```

> NOTE: when using path ensure the url is relative to your project directory.

---

Commands
--------

[](#commands)

- The commands are executed in the order you specify.
- You can execute commands with composer and npm.

You use use `$name` and `$nameSnake` variables in your commands which can be useful for example if you want to create a database.

```
"mysql -u root -e 'create database $nameSnake'"
```

which would become

```
"mysql -u root -e 'create database my_app'"
```

> NOTE: If you wish to run sudo commands you will be prompted for your password at each command step i.e pre-install, post-install, pre-package, post-package.

### Commands Example

[](#commands-example)

```
"commands": {
    "composer": {
        "pre-install": [
            "sudo composer self-update",
            "composer cache-clear"
        ],
        "post-install": [
            "php artisan migrate:fresh --seed",
            "valet restart",
            "valet link",
            "valet secure",
        ],
        "pre-package": [
            "composer update",
        ],
        "post-package": [
            "composer dump-autoload",
        ],
    },
    "npm": {
        "pre-install": [
            "npm install -g npm@latest",
        ],
        "post-package": [
            "npm run dev",
        ],
    },
}
```

### Pre Install

[](#pre-install)

The commands that will be run before the installation of laravel.

> IMPORTANT: Pre Install commands are run in the install-location not the application location.

### Post Install

[](#post-install)

The commands that will be run after the installation of laravel.

### Pre Package

[](#pre-package)

The commands that will be run before the installation of packages.

### Post Package

[](#post-package)

The commands that will be run after the installation of packages.

---

\####TODO

- Make it posible to install from current working directory.
- Add support for manipluating files such as .env, app.css etc.
- Move away from using laravel/installer to install laravel.

License
=======

[](#license)

Laravel Installer Plus is an open-source software licensed under the MIT license.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~5 days

Recently: every ~11 days

Total

11

Last Release

1377d ago

Major Versions

0.1.0 → 1.0.02022-06-20

### Community

Maintainers

![](https://www.gravatar.com/avatar/5ec1bfd05f95c19d3d12c7bb0fd2abc097b62e49cc0dfa32d6e6460c76607c95?d=identicon)[RhysLees](/maintainers/RhysLees)

---

Top Contributors

[![RhysLees](https://avatars.githubusercontent.com/u/43909932?v=4)](https://github.com/RhysLees "RhysLees (46 commits)")

---

Tags

cliinstallerlaravelphpcliconsolelaravellaravel-zerolaravel Installerlaravel-installer-plus

### Embed Badge

![Health badge](/badges/rhyslees-laravel-installer-plus/health.svg)

```
[![Health](https://phpackages.com/badges/rhyslees-laravel-installer-plus/health.svg)](https://phpackages.com/packages/rhyslees-laravel-installer-plus)
```

###  Alternatives

[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.6k331.8M8.5k](/packages/nunomaduro-collision)[nunomaduro/laravel-console-menu

Laravel Console Menu is an output method for your Laravel/Laravel Zero commands.

815412.0k48](/packages/nunomaduro-laravel-console-menu)[nunomaduro/laravel-console-task

Laravel Console Task is a output method for your Laravel/Laravel Zero commands.

2582.1M11](/packages/nunomaduro-laravel-console-task)[nunomaduro/laravel-console-summary

A Beautiful Laravel Console Summary for your Laravel/Laravel Zero commands.

662.0M3](/packages/nunomaduro-laravel-console-summary)[nunomaduro/laravel-console-dusk

Laravel Console Dusk allows the usage of Laravel Dusk in Laravel/Laravel Zero artisan commands.

16255.4k7](/packages/nunomaduro-laravel-console-dusk)[mehrancodes/laravel-harbor

A CLI tool to Quickly create On-Demand preview environment for your apps.

9989.0k](/packages/mehrancodes-laravel-harbor)

PHPackages © 2026

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