Looking to hire Laravel developers? Try LaraJobs

laravel-modular-kit maintained by blitheforge

Description
Laravel package to scaffold modules and module resources.
Author
Last update
2026/04/18 11:04 (dev-main)
License
Downloads
1

Comments
comments powered by Disqus

Blitheforge Laravel Modular Kit

A Laravel package for generating and auto-registering modular feature packages inside a Laravel application.

It creates a Modules/ folder structure, generates module controllers, models, migrations, routes, providers, and automatically loads module service providers so route files work without manual composer configuration.

Features

  • make:module {name} creates a new module skeleton under Modules/{Name}
  • Module provider auto-registration at runtime
  • Auto-loads module routes, views, migrations, and helpers
  • Support for additional resource generation via make:module:resource
  • Works without requiring users to add a Modules\ PSR-4 autoload entry in the main app

Requirements

  • PHP ^8.0
  • Laravel ^13.0

Installation

Install the package in your Laravel app:

composer require blitheforge/laravel-modular-kit

Laravel will automatically discover the package service provider.

Usage

Create a module

php artisan make:module Auth

This command generates:

  • Modules/Auth/Providers/AuthServiceProvider.php
  • Modules/Auth/Routes/web.php
  • Modules/Auth/Controllers/AuthController.php
  • Modules/Auth/Models/Auth.php
  • Modules/Auth/Database/Migrations/create_auth_table.php
  • Modules/Auth/Database/Seeders/AuthSeeder.php
  • Modules/Auth/Views
  • Modules/Auth/Helpers

Add module resources

Generate additional module resources with:

php artisan make:module:resource {module} {type} {name}

Supported resource types:

  • controller
  • model
  • migration
  • route

Example:

php artisan make:module:resource Auth route login

How it works

The package service provider scans Modules/ at runtime and:

  1. Registers a Modules\ PSR-4 namespace with Composer's autoloader
  2. Discovers each module service provider
  3. Registers each module provider automatically
  4. Loads module routes, views, migrations, and helper files

This means module routes are loaded without custom manual setup in the consuming app.

Commands

  • php artisan make:module {name}
  • php artisan make:module:resource {module} {type} {name}
  • php artisan make:module-controller {module} {name}
  • php artisan make:module-model {module} {name}
  • php artisan make:module-migration {module} {name}
  • php artisan make:module-route {module} {name}

Module structure

A generated module uses the following layout:

Modules/{ModuleName}/
├── Controllers/
├── Database/
│   ├── Migrations/
│   └── Seeders/
├── Helpers/
├── Models/
├── Providers/
└── Routes/
    └── web.php

License

MIT