PHPackages                             octaviocaba/module-commands-laravel-package - 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. octaviocaba/module-commands-laravel-package

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

octaviocaba/module-commands-laravel-package
===========================================

Laravel commands package for custom modules

v0.0.4(4mo ago)06MITPHPPHP ^8.2

Since Jan 7Pushed 4mo agoCompare

[ Source](https://github.com/OctavioCaba/module-commands-laravel-package)[ Packagist](https://packagist.org/packages/octaviocaba/module-commands-laravel-package)[ RSS](/packages/octaviocaba-module-commands-laravel-package/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (3)Versions (5)Used By (0)

Module Commands Laravel Package
===============================

[](#module-commands-laravel-package)

Este paquete añade comandos Artisan para crear artefactos organizados por módulos dentro de la carpeta `app/Modules/`.

Comando: make:module-controller
-------------------------------

[](#comando-makemodule-controller)

Crear un controlador dentro de un módulo:

```
php artisan make:module-controller NombreController nombre_del_modulo
```

Ejemplo:

```
php artisan make:module-controller TestController querylog
```

Esto creará el archivo:

```
app/Modules/querylog/src/Http/Controllers/TestController.php
```

El namespace dentro del archivo generado sigue la convención:

```
Modules\{StudlyModule}\Http\Controllers
```

por ejemplo, para `querylog` será `Modules\Querylog\Http\Controllers`. Si el archivo destino ya existe, el comando preguntará interactívamente si debe sobrescribirlo. Para evitar la confirmación y forzar la sobrescritura, usa la opción `--force`:

```
php artisan make:module-controller TestController querylog --force
```

Comportamiento:

- Si no usas `--force`, y el archivo ya existe, el comando pedirá confirmación (sí/no). Si respondes `no`, el archivo no se modifica.
- Si usas `--force`, el archivo existente será sobrescrito sin pedir confirmación.

### Opción: --namespace-root

[](#opción---namespace-root)

Además de la configuración en `config/module-commands.php`, el comando acepta la opción `--namespace-root` para anular la raíz del namespace sólo en la invocación actual. Ejemplo:

```
php artisan make:module-controller TestController querylog --namespace-root="MyCompany\\Modules"
```

Prioridad: si se proporciona `--namespace-root` se usa ese valor; si no, se lee `module-commands.module_namespace` y, en ausencia de éste, se utiliza el valor por defecto `Modules`.

Nota: la opción acepta cualquier cadena válida como raíz; al generar se normalizan barras invertidas finales pero no se realizan comprobaciones adicionales sobre el namespace proporcionado.

### Contenido del stub

[](#contenido-del-stub)

El stub usado es `src/Console/Commands/stubs/controller-plain.stub` y contiene los marcadores `$CLASS_NAMESPACE$` y `$CLASS$` que son reemplazados por la implementación del comando.

### Tests

[](#tests)

El paquete incluye tests que verifican:

- La generación en `app/Modules/...` y el reemplazo del namespace y nombre de clase.
- El comportamiento de sobrescritura (confirmación negativa y `--force`).

Ejecuta los tests con:

```
./vendor/bin/phpunit --colors
```

Si necesitas cambiar la convención de namespace (por ejemplo, otro prefijo que no sea `Modules`), puedes publicar y editar la configuración del paquete (`config/module-commands.php`) o usar la variable de entorno `MODULE_COMMANDS_NAMESPACE`.

---

ModuleCommandsLaravelPackage
============================

[](#modulecommandslaravelpackage)

Un pequeño paquete para Laravel que agrega comandos Artisan para gestionar una estructura modular dentro de paquetes y aplicaciones Laravel. Simplifica la creación, listado, habilitación/deshabilitación, migraciones y el scaffolding de componentes de módulos (controladores, modelos, migraciones, factories, seeders, rutas y vistas).

Features
--------

[](#features)

- Crear el scaffold de un nuevo módulo
- Listar módulos registrados
- Habilitar / deshabilitar módulos
- Generar controladores, modelos, requests y resources dentro de un módulo
- Ejecutar migraciones, seeders y rollbacks específicos de un módulo
- Publicar assets y configuraciones del módulo
- Integración con el autoloading y los service providers de Laravel

Instalación
-----------

[](#instalación)

1. Requerir el paquete vía `composer`:

```
composer require octaviocaba/module-commands-laravel-package
```

2. Registrar el service provider en `config/app.php`:

```
'providers' => [
  OctavioCaba\ModuleCommands\ModuleCommandsServiceProvider::class,
];
```

3. Publicar la configuración y los `stubs` (opcional):

```
php artisan vendor:publish --provider="OctavioCaba\ModuleCommands\ModuleCommandsServiceProvider" --tag="config"
php artisan vendor:publish --provider="OctavioCaba\ModuleCommands\ModuleCommandsServiceProvider" --tag="stubs"
```

Configuración
-------------

[](#configuración)

Después de publicar, edita `config/module-commands.php` para ajustar:

- namespace raíz para las clases generadas

### Comportamiento por defecto si no hay configuración

[](#comportamiento-por-defecto-si-no-hay-configuración)

Si no publicas el archivo de configuración `module-commands.php` o éste no contiene la clave `module_namespace`, el comando usará el valor por defecto `Modules` como raíz del namespace.

Esto permite que el comando funcione sin configuración adicional, generando por defecto `Modules\\{Module}\\Http\\Controllers`.

Comandos Disponibles
--------------------

[](#comandos-disponibles)

- Genera `controllers` para el módulo

```
php artisan module:make:controller {module} {name} [--resource] [--api]
```

Estructura de directorios y ficheros
------------------------------------

[](#estructura-de-directorios-y-ficheros)

Contenido típico de un módulo:

```
Modules/
└── blog/
  ├── src/
  │   ├── Http/
  │   │   ├── Controllers/
  │   ├── Models/
  │   ├── Database/
  │   │   ├── Migrations/
  │   │   └── Seeders/
  │   ├── Providers/
  │   └── routes.php
  ├── resources/
  │   └── views/
  └── composer.json

```

Testing
-------

[](#testing)

Correr tests:

```
composer test
# or
vendor/bin/phpunit
```

Licencia
--------

[](#licencia)

MIT — consulta el fichero LICENSE para más detalle.

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance77

Regular maintenance activity

Popularity4

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity40

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 ~1 days

Total

4

Last Release

123d ago

### Community

Maintainers

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

---

Top Contributors

[![OctavioCaba](https://avatars.githubusercontent.com/u/61516412?v=4)](https://github.com/OctavioCaba "OctavioCaba (7 commits)")

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/octaviocaba-module-commands-laravel-package/health.svg)

```
[![Health](https://phpackages.com/badges/octaviocaba-module-commands-laravel-package/health.svg)](https://phpackages.com/packages/octaviocaba-module-commands-laravel-package)
```

###  Alternatives

[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M320](/packages/wp-cli-wp-cli)[consolidation/annotated-command

Initialize Symfony Console commands from annotated command class methods.

22569.8M19](/packages/consolidation-annotated-command)[chi-teck/drupal-code-generator

Drupal code generator

26947.8M5](/packages/chi-teck-drupal-code-generator)[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24725.8M17](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)

PHPackages © 2026

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