maxorade/laravel-generator

Artisan generators for Laravel projects.

Maintainers

Package info

gitlab.com/maxorade/maxorade-laravel-generator

Issues

pkg:composer/maxorade/laravel-generator

Transparency log

Statistics

Installs: 26

Dependents: 0

Suggesters: 0

Stars: 0

v1.5.0 2026-07-06 16:32 UTC

This package is auto-updated.

Last update: 2026-07-07 15:11:14 UTC


README

Generadores Artisan para acelerar el desarrollo de aplicaciones Laravel.

Este paquete proporciona comandos personalizados que permiten generar código y configurar automáticamente proyectos Laravel siguiendo una arquitectura limpia, consistente y reutilizable, reduciendo el trabajo repetitivo y acelerando el desarrollo de nuevos módulos.

Características

Actualmente el paquete permite:

  • Generación automática de Services CRUD.
  • Generación automática de Controllers API.
  • Generación automática de Controllers Web.
  • Generación automática de autenticación API con Laravel Sanctum.
  • Administración de ambientes Laravel.
  • Configuración automática de CORS.
  • Configuración automática de Scramble.

Todo el código generado sigue una estructura limpia y utiliza Stubs completamente personalizables, permitiendo adaptar fácilmente la generación de código a cualquier proyecto.

Requisitos

  • PHP 8.2 o superior.
  • Laravel 11, 12 o 13.

Instalación

composer require maxorade/laravel-generator

Comandos disponibles

Generadores

ComandoDescripción
php artisan make:service ModeloGenera un Service CRUD.
php artisan make:service --allGenera Services para todos los modelos.
php artisan make:service --all --except=User,PersonalAccessTokenGenera Services excluyendo modelos.
php artisan make:controller-api ModeloGenera un Controller API CRUD.
php artisan make:controller-api Modelo --attributesGenera un Controller API utilizando $fillable y $casts.
php artisan make:controller-api --allGenera Controllers API para todos los modelos.
php artisan make:controller-api --all --attributesGenera Controllers API con validaciones automáticas.
php artisan make:controller-web ModeloGenera un Controller Web CRUD.
php artisan make:controller-web Modelo --attributesGenera un Controller Web utilizando $fillable y $casts.
php artisan make:auth-apiGenera autenticación API con Laravel Sanctum utilizando el modelo User.
php artisan make:auth-api ModeloGenera autenticación API para un modelo específico.
php artisan make:auth-api Modelo --no-simulatedGenera autenticación sin login simulado.
php artisan make:auth-api Modelo --system=backofficeGenera autenticación utilizando tokens Sanctum con abilities por sistema.
php artisan make:auth-api Modelo --system=backoffice --abilities=read,write,export,adminGenera abilities personalizadas utilizando el sistema como prefijo.
php artisan make:envs --createGenera .env.development, .env.testing y .env.production.
php artisan make:envs --deploy=developmentCambia al ambiente Development.
php artisan make:envs --deploy=testingCambia al ambiente Testing.
php artisan make:envs --deploy=productionCambia al ambiente Production.
php artisan make:envs --currentMuestra el ambiente actual.
php artisan make:envs --listLista los ambientes disponibles.

Configuración

ComandoDescripción
php artisan configure:corsConfigura automáticamente CORS utilizando variables de entorno.
php artisan configure:scrambleInstala y configura Scramble con autenticación Bearer.

Ejemplos

Generar Services

php artisan make:service --all --except=User,PersonalAccessToken

Generar Controllers API

php artisan make:controller-api --all --attributes

Generar un Controller Web

php artisan make:controller-web ConfiguracionGlobal --attributes

Generar autenticación API

php artisan make:auth-api User

Genera automáticamente:

app/
├── Services/
│   └── UserAuthService.php
└── Http/
    └── Controllers/
        └── Api/
            └── UserAuthController.php

Además registra automáticamente las rutas:

Route::post('/login-users', [UserAuthController::class, 'login']);

Route::middleware('auth:sanctum')->get('/me-users', [UserAuthController::class, 'me']);

Route::middleware('auth:sanctum')->post('/logout-users', [UserAuthController::class, 'logout']);

El modelo también es preparado automáticamente para utilizar Laravel Sanctum.

Generar autenticación API por sistema

php artisan make:auth-api UsuarioAdmin \
    --system=backoffice \
    --abilities=read,write,export,admin

Genera automáticamente un token Sanctum con abilities:

$token = $user->createToken(
    'backoffice',
    [
        'backoffice.read',
        'backoffice.write',
        'backoffice.export',
        'backoffice.admin',
    ]
)->plainTextToken;

Y registra las rutas protegidas mediante abilities:

Route::post('/login-backoffice', [UsuarioAdminAuthController::class, 'login']);

Route::middleware([
    'auth:sanctum',
    'abilities:backoffice.read'
])->group(function () {

    Route::get('/me-backoffice', [UsuarioAdminAuthController::class, 'me']);

    Route::post('/logout-backoffice', [UsuarioAdminAuthController::class, 'logout']);

});

Si no se especifica --abilities, el generador crea automáticamente:

backoffice.read
backoffice.write

Configurar ambientes

php artisan make:envs --create

Configurar CORS

php artisan configure:cors

El comando:

  • Publica config/cors.php si no existe.
  • Agrega CORS_ALLOWED_ORIGINS a:
    • .env
    • .env.development
    • .env.testing
    • .env.production
  • Configura config/cors.php para utilizar la variable de entorno.

Configurar Scramble

php artisan configure:scramble

El comando:

  • Instala Scramble si no existe.
  • Publica config/scramble.php.
  • Configura automáticamente autenticación Bearer.
  • Limpia la caché de configuración.

Roadmap

v1.0.0

  • make:service

v1.1.0

  • make:controller-api

v1.2.0

  • make:envs

v1.3.0

  • make:controller-web
  • make:service --all
  • make:controller-api --all

v1.4.0

  • configure:cors
  • configure:scramble

v1.5.0

  • make:auth-api
  • ✅ Soporte para --system
  • ✅ Soporte para --abilities
  • ✅ Soporte para --no-simulated

Próximas versiones

v1.6.0

  • make:request

v1.7.0

  • make:crud

v2.0.0

  • make:module
  • maxorade:setup-api
  • maxorade:doctor
  • Generación automática de módulos completos.
  • Generación automática de rutas.
  • Generación de Form Requests.
  • Generación de Policies.
  • Generación de Repositories.
  • Generación de documentación Scramble.
  • Generación de vistas Blade.

Contribuciones

Las contribuciones son bienvenidas.

Si encuentras un error o deseas proponer una nueva funcionalidad, puedes crear un Issue o enviar un Merge Request.

Licencia

Este proyecto se distribuye bajo la licencia MIT.

Desarrollado por Maxorade.