PHPackages                             maherremita/laravel-dev - 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. maherremita/laravel-dev

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

maherremita/laravel-dev
=======================

A simple command to run and manage all necessary development servers and commands in separate terminals.

1.1.2(4mo ago)13431MITPHPPHP ^8.2CI passing

Since Sep 2Pushed 4mo agoCompare

[ Source](https://github.com/MaherRemita/laravel-dev)[ Packagist](https://packagist.org/packages/maherremita/laravel-dev)[ RSS](/packages/maherremita-laravel-dev/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (4)Versions (7)Used By (0)

Laravel Dev
===========

[](#laravel-dev)

A Laravel package that allows you to launch and manage all your development servers and commands in separate terminal windows with a single Artisan command.

✨ Features
----------

[](#-features)

- 🚀 Launch all your development servers &amp; commands with a single command.
- ➕ Create and manage commands at runtime, not just from the config file.
- 🖥️ Each process runs in a new, separate terminal window.
- 🎨 Customize terminal colors for each command for better visual organization.
- ⚙️ Interactive menu to start, stop, or restart individual or all commands while running.
- ✅ Cross-platform support for Windows, macOS, and Linux.

🚀 Demo
------

[](#-demo)

    video.mp4    *A quick demonstration of how Laravel Dev works.*

📦 Installation
--------------

[](#-installation)

You can install the package via composer:

```
composer require maherremita/laravel-dev --dev
```

Next, publish the configuration file using the `vendor:publish` command. This will create a `config/laravel_dev.php` file in your project.

```
php artisan vendor:publish --provider="maherremita\LaravelDev\LaravelDevServiceProvider" --tag="config"
```

Usage
-----

[](#usage)

### 1. ⚙️ Configure Your Commands

[](#1-️-configure-your-commands)

Open the `config/laravel_dev.php` file and define the commands you want to manage. You can add as many as you need.

#### Static Commands

[](#static-commands)

Define your commands as usual in the `commands` array:

```
'commands' => [
    // Simple format
    'Laravel Server' => 'php artisan serve',
    'Queue Worker' => 'php artisan queue:work',
    // Advanced format with custom colors
    'Vite Dev Server' => [
        'command' => 'npm run dev --watch',
        'colors' => [
            'text' => 'Green',
            'background' => 'Black'
        ]
    ],
],
```

#### Dynamic Commands

[](#dynamic-commands)

You can also generate commands at runtime, e.g. from the database or other sources. Use the `dynamic_commands` array for this. Each entry contains PHP code as a string, which is evaluated at runtime and must return an array of commands (like the `commands` array above).

**Example:**

```
'dynamic_commands' => [
    'colored_commands' => 'array_reduce(
        range(1, 3),
        function ($carry, $number) {
            $carry["Task {$number}"] = [
                "command" => "echo Executing task {$number}",
                "colors" => ["text" => "green", "background" => "black"]
            ];
            return $carry;
        },
        []
    );',
    // ...
]
```

**Notes:**

- The PHP code is executed with `eval()` and must return an associative array.
- Quotes must be escaped (`\'` or `\"`).
- The code must end with a semicolon (`;`).

### 2. 🚀 Run the Dev Command

[](#2--run-the-dev-command)

Start the master command by running:

```
php artisan dev
```

This will launch all the commands defined in your configuration file, each in its own terminal window. You will then see an interactive menu in the original terminal allowing you to manage these processes.

### 3. ⚙️ Manage Your Processes

[](#3-️-manage-your-processes)

Once running, you can choose from the following actions:

- `show all commands`: Display a list of all configured commands.
- `start command`: Start a configured command that is not currently running.
- `start all commands`: Start all configured commands.
- `stop command`: Stop a specific running command.
- `stop all commands`: Stop all currently running commands.
- `restart command`: Restart a specific running command.
- `restart all commands`: Stop and then start all configured commands.
- `refresh commands`: Reload the configuration and update the list of commands.
- `exit`: Exit the interactive menu and stop managing processes.

🎨 Available Colors
------------------

[](#-available-colors)

You can set the `text` and `background` colors for each terminal window.

- **Windows**: `Black`, `DarkBlue`, `DarkGreen`, `DarkCyan`, `DarkRed`, `DarkMagenta`, `DarkYellow`, `Gray`, `DarkGray`, `Blue`, `Green`, `Cyan`, `Red`, `Magenta`, `Yellow`, `White`.
- **macOS**: `black`, `white`, `red`, `green`, `blue`, `cyan`, `magenta`, `yellow`.
- **Linux**: `Black`, `DarkBlue`, `DarkGreen`, `DarkCyan`, `DarkRed`, `DarkMagenta`, `Gray`, `DarkGray`, `Blue`, `Green`, `Cyan`, `Red`, `Magenta`, `Yellow`, `White`.

🤝 Contributing
--------------

[](#-contributing)

Contributions are welcome! Please feel free to submit a pull request.

1. Fork the repository.
2. Create a new branch (`git checkout -b feature/my-new-feature`).
3. Make your changes.
4. Commit your changes (`git commit -am 'Add some feature'`).
5. Push to the branch (`git push origin feature/my-new-feature`).
6. Create a new Pull Request.

📜 License
---------

[](#-license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

🙏 Credits
---------

[](#-credits)

- **Author:** [MaherRemita](https://github.com/MaherRemita)
- **Email:**

---

⭐ **Found this package helpful? Give it a star!**

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance75

Regular maintenance activity

Popularity17

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 90% 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 ~24 days

Recently: every ~30 days

Total

6

Last Release

138d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a741efd2bf89c8813ef307032af4359ba15998399706a2c943582bce237c646a?d=identicon)[MaherRemita](/maintainers/MaherRemita)

---

Top Contributors

[![MaherRemita](https://avatars.githubusercontent.com/u/133269437?v=4)](https://github.com/MaherRemita "MaherRemita (9 commits)")[![maher-developatic](https://avatars.githubusercontent.com/u/259724744?v=4)](https://github.com/maher-developatic "maher-developatic (1 commits)")

---

Tags

development-environmentlaravellaravel-package

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/maherremita-laravel-dev/health.svg)

```
[![Health](https://phpackages.com/badges/maherremita-laravel-dev/health.svg)](https://phpackages.com/packages/maherremita-laravel-dev)
```

###  Alternatives

[nunomaduro/laravel-console-menu

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

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

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

245.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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