Laravel Installer v5.31.0: New `laravel package` Command | Mohamed Said        [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com) [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles  ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

       [  ](https://github.com/EG-Mohamed)       

 [ Home ](https://msaied.com) [ Projects ](https://msaied.com/projects) [ Articles ](https://msaied.com/articles) [ Certificates ](https://msaied.com/certificates) [ Contact ](https://msaied.com#contact-section) 

  [ home ](https://msaied.com)    [ articles ](https://msaied.com/articles)    Scaffold Laravel Packages with the `laravel package` Command in Installer v5.31.0        On this page       1. [  Laravel Installer v5.31.0: What's New ](#laravel-installer-v5310-whats-new)
2. [  The laravel package Command ](#the-codelaravel-packagecode-command)
3. [  Feature Flags ](#feature-flags)
4. [  Metadata Options ](#metadata-options)
5. [  Automated PHP Version Matching for GitHub Actions ](#automated-php-version-matching-for-github-actions)
6. [  --no-node Propagation to Starter Kit Hooks ](#code-no-nodecode-propagation-to-starter-kit-hooks)
7. [  Fallback Prompt Output ](#fallback-prompt-output)
8. [  Windows Queue Listener Timeout Fix ](#windows-queue-listener-timeout-fix)
9. [  Upgrading ](#upgrading)
10. [  Key Takeaways ](#key-takeaways)

  ![Scaffold Laravel Packages with the `laravel package` Command in Installer v5.31.0](https://cdn.msaied.com/449/522e744d3c7bae1f214c179a83ae5b88.png)

 [  Laravel ](https://msaied.com/articles?category=laravel) [  Composer Pacakge ](https://msaied.com/articles?category=composer-pacakge)  #Laravel Installer   #Package Development   #CLI   #GitHub Actions   #Laravel  

 Scaffold Laravel Packages with the `laravel package` Command in Installer v5.31.0 
===================================================================================

     20 Jul 2026      3 min read    ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said  

       Table of contents

  10 sections  

1. [  01   Laravel Installer v5.31.0: What's New  ](#laravel-installer-v5310-whats-new)
2. [  02   The laravel package Command  ](#the-codelaravel-packagecode-command)
3. [  03   Feature Flags  ](#feature-flags)
4. [  04   Metadata Options  ](#metadata-options)
5. [  05   Automated PHP Version Matching for GitHub Actions  ](#automated-php-version-matching-for-github-actions)
6. [  06   --no-node Propagation to Starter Kit Hooks  ](#code-no-nodecode-propagation-to-starter-kit-hooks)
7. [  07   Fallback Prompt Output  ](#fallback-prompt-output)
8. [  08   Windows Queue Listener Timeout Fix  ](#windows-queue-listener-timeout-fix)
9. [  09   Upgrading  ](#upgrading)
10. [  10   Key Takeaways  ](#key-takeaways)

       Laravel Installer v5.31.0: What's New
-------------------------------------

The Laravel team shipped Installer v5.31.0 on July 20, 2026, with several quality-of-life improvements for package authors and application developers alike. The headline feature is the new `laravel package` command, but the release also tightens CI configuration, improves Node-less workflows, and fixes a Windows-specific development issue.

---

The `laravel package` Command
-----------------------------

You can now scaffold a new Laravel package directly from the terminal without manually cloning a skeleton repository:

```bash
laravel package my-new-package

```

Under the hood, the command:

1. Clones the official [laravel/package-skeleton](https://github.com/laravel/package-skeleton) repository.
2. Cleans the git history so you start fresh.
3. Installs Composer dependencies.
4. Runs the skeleton's interactive configuration script.

### Feature Flags

Run the command interactively or pass flags to predefine which components to include:

| Flag | Purpose | |---|---| | `--config` | Include a config file | | `--routes` | Include routes | | `--views` | Include views | | `--translations` | Include translations | | `--migrations` | Include migrations | | `--assets` | Include assets | | `--commands` | Include Artisan commands | | `--facade` | Include a facade | | `--boost-skill` | Include a Laravel Boost skill |

### Metadata Options

You can also supply package metadata directly on the command line to skip interactive prompts:

```bash
laravel package my-new-package \
  --author-name="Jane Doe" \
  --author-email="jane@example.com" \
  --package-name="my-new-package" \
  --vendor-namespace="JaneDoe" \
  --package-description="A helpful Laravel package"

```

Available metadata flags include `--package-name-human`, `--class-name`, and the author/vendor options shown above. The command also integrates with the installer's non-interactive AI agent detection, making fully automated package scaffolding possible in CI or agentic workflows.

---

Automated PHP Version Matching for GitHub Actions
-------------------------------------------------

When you create a new project with a starter kit, the installer now reads the PHP version running on your local machine and writes that exact major.minor version into the generated `.github/workflows/tests.yml` file. Your CI pipeline will test against the same PHP version you develop with locally — no more manual edits to the workflow file after project creation.

---

`--no-node` Propagation to Starter Kit Hooks
--------------------------------------------

Passing `--no-node` to `laravel new` now sets a `LARAVEL_INSTALLER_NO_NODE=1` environment variable before any post-create starter kit hooks run. Starter kits that respect this variable can skip npm installs and other Node.js-dependent tasks automatically.

---

Fallback Prompt Output
----------------------

The installer now guards the call to `Laravel\Prompts\callout()` with an existence check. If the function is unavailable — for example, when an older version of Laravel Prompts is installed — output falls back to standard output instead of throwing a fatal error.

---

Windows Queue Listener Timeout Fix
----------------------------------

On Windows, the `dev` Composer script that runs concurrent processes during local development now passes `--timeout=0` to `php artisan queue:listen`. This prevents the queue listener from stopping unexpectedly mid-session.

---

Upgrading
---------

No breaking changes are expected. Update your globally installed installer with:

```bash
composer global update laravel/installer

```

---

Key Takeaways
-------------

- **`laravel package `** scaffolds a new package from `laravel/package-skeleton` in one command.
- Feature flags (`--config`, `--migrations`, `--facade`, etc.) let you define the package structure upfront.
- Metadata flags eliminate interactive prompts, enabling fully automated or AI-driven package creation.
- GitHub Actions workflows now automatically mirror your local PHP version.
- `--no-node` is now propagated to starter kit hooks via an environment variable.
- Windows developers get a stable queue listener in the `dev` script.

---

*Source: [Laravel News — Scaffold Packages with the `laravel package` Command in Laravel Installer v5.31.0](https://laravel-news.com/laravel-installer-5-31-0)*

 Found this useful?

          [  ](https://twitter.com/intent/tweet?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fscaffold-laravel-packages-with-the-laravel-package-command-in-installer-v5310&text=Scaffold+Laravel+Packages+with+the+%60laravel+package%60+Command+in+Installer+v5.31.0) [  ](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fmsaied.com%2Farticles%2Fscaffold-laravel-packages-with-the-laravel-package-command-in-installer-v5310) 

 Frequently Asked Questions 
----------------------------

  3 questions  

     Q01  What does the `laravel package` command do in Laravel Installer v5.31.0?        It clones the official `laravel/package-skeleton` repository, clears the git history, installs Composer dependencies, and runs the skeleton's configuration script — all in a single CLI command. You can pass feature flags like `--migrations` or `--facade` and metadata options like `--author-name` to automate the setup. 

      Q02  How do I update to Laravel Installer v5.31.0?        Run `composer global update laravel/installer` in your terminal. No breaking changes are expected for typical applications. 

      Q03  What does the `--no-node` flag propagation mean for starter kits?        When you run `laravel new` with `--no-node`, the installer sets a `LARAVEL_INSTALLER_NO_NODE=1` environment variable before executing any post-create starter kit hooks. Starter kits that check for this variable can then skip npm installs and other Node.js-related tasks automatically. 

  Continue reading

 More Articles 
---------------

 [ View all    ](https://msaied.com/articles) 

 [ ![Modular Monolith in Laravel: Enforcing Bounded Contexts Without a Microservices Tax](https://cdn.msaied.com/451/014ea4597c12e3ba1ce7a4f4a33d299e.png) laravel architecture ddd 

### Modular Monolith in Laravel: Enforcing Bounded Contexts Without a Microservices Tax

Learn how to carve a Laravel application into cohesive bounded contexts using modules, internal contracts, and...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 21 Jul 2026     3 min read  

  Read    

 ](https://msaied.com/articles/modular-monolith-in-laravel-enforcing-bounded-contexts-without-a-microservices-tax-3) [ ![DDD Value Objects and DTOs in Laravel Without the Bloat](https://cdn.msaied.com/450/41688537085b86f102fd8c219a35319f.png) laravel ddd php 

### DDD Value Objects and DTOs in Laravel Without the Bloat

Learn how to implement domain-driven value objects and data transfer objects in Laravel using PHP 8.3 readonly...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 21 Jul 2026     1 min read  

  Read    

 ](https://msaied.com/articles/ddd-value-objects-and-dtos-in-laravel-without-the-bloat) [ ![Laravel + Python FastAPI: Image OCR Demo](https://cdn.msaied.com/447/5f3d87146fbf19957973cbc88c6c0155.png) Laravel Python FastAPI 

### Laravel + Python FastAPI: Image OCR Demo

Learn how to call a Python image OCR script from Laravel using FastAPI as the bridge. This premium tutorial wa...

  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MJ.jpg)  Mohamed Said 

 20 Jul 2026     3 min read  

  Read    

 ](https://msaied.com/articles/laravel-python-fastapi-image-ocr-demo) 

   [  ![Mohamed Said](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png)   Mohamed Said Laravel Backend Engineer  ](https://msaied.com)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

Explore

- [Home](https://msaied.com)
- [Projects](https://msaied.com/projects)
- [Articles](https://msaied.com/articles)
- [Certificates](https://msaied.com/certificates)
- [Contact](https://msaied.com#contact-section)

Connect

- [   hello@msaied.com ](mailto:hello@msaied.com)
- [   +20 109 461 9204 ](tel:+201094619204)

© 2026 Mohamed Said. All rights reserved.

 [  ](https://github.com/EG-Mohamed) [  ](https://www.linkedin.com/in/msaiedm/) [  ](https://wa.me/201094619204) [  ](mailto:hello@msaied.com) [  ](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
