PHPackages                             cedarsol/larmod - 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. [Framework](/categories/framework)
4. /
5. cedarsol/larmod

ActiveLibrary[Framework](/categories/framework)

cedarsol/larmod
===============

A module scaffolding tool for ERP-style Laravel applications. Quickly generate fully-structured modules with controllers, models, services, routes, and more.

v1.0.0(2mo ago)00MITPHPPHP ^8.2

Since Feb 28Pushed 2mo agoCompare

[ Source](https://github.com/developerBino/larmod)[ Packagist](https://packagist.org/packages/cedarsol/larmod)[ RSS](/packages/cedarsol-larmod/feed)WikiDiscussions main Synced 1mo ago

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

LarMod
======

[](#larmod)

**A module scaffolding tool for ERP-style Laravel applications.**

LarMod provides an Artisan command to quickly generate fully-structured modules with controllers, models, services, routes, and more — giving your Laravel ERP project a clean, modular architecture from the start.

---

Requirements
------------

[](#requirements)

- PHP 8.2+
- Laravel 11 or 12

Installation
------------

[](#installation)

### Via Composer (Packagist)

[](#via-composer-packagist)

```
composer require cedarsol/larmod --dev
```

### Local Development (Path Repository)

[](#local-development-path-repository)

If you're developing LarMod locally, add a path repository to your Laravel project's `composer.json`:

```
{
    "repositories": [
        {
            "type": "path",
            "url": "packages/larmod"
        }
    ]
}
```

Then require it:

```
composer require cedarsol/larmod --dev
```

> **Note:** Laravel auto-discovers the service provider — no manual registration needed.

Usage
-----

[](#usage)

### Generate a Module

[](#generate-a-module)

```
php artisan make:erp-module Inventory
```

This creates the following structure:

```
Modules/
└── Inventory/
    ├── Http/
    │   ├── Controllers/
    │   │   └── InventoryController.php
    │   ├── Requests/
    │   └── Resources/
    ├── Models/
    │   └── Inventory.php
    ├── Services/
    │   └── InventoryService.php
    ├── database/
    │   └── migrations/
    └── routes.php

```

### Options

[](#options)

OptionDescription`--force`Overwrite existing module files without prompt```
php artisan make:erp-module Inventory --force
```

### Register Module Namespace

[](#register-module-namespace)

After generating a module, add its namespace to your project's `composer.json` autoload:

```
{
    "autoload": {
        "psr-4": {
            "App\\": "app/",
            "Modules\\Inventory\\": "Modules/Inventory/"
        }
    }
}
```

Then regenerate the autoloader:

```
composer dump-autoload
```

### Load Module Routes

[](#load-module-routes)

Include the module's routes in your application. For example, in `bootstrap/app.php` (Laravel 11+):

```
->withRouting(
    web: __DIR__.'/../routes/web.php',
    api: __DIR__.'/../routes/api.php',
    then: function () {
        Route::prefix('api')
            ->middleware('api')
            ->group(base_path('Modules/Inventory/routes.php'));
    },
)
```

Or in a route service provider:

```
Route::prefix('api')
    ->middleware('api')
    ->group(base_path('Modules/Inventory/routes.php'));
```

Customizing Stubs
-----------------

[](#customizing-stubs)

Publish the stub templates to customize them:

```
php artisan vendor:publish --tag=larmod-stubs
```

This copies the stubs to `stubs/vendor/larmod/` in your project root. LarMod will use your customized stubs instead of the package defaults.

### Available Placeholders

[](#available-placeholders)

PlaceholderExample OutputDescription`{{ namespace }}``Modules\Inventory`Module's root namespace`{{ class }}``Inventory`StudlyCase module name`{{ moduleName }}``Inventory`Module name (same as class)`{{ moduleNameLower }}``inventory`Lowercase module name`{{ moduleNameSlug }}``inventory`Kebab-case module name (URL-safe)`{{ moduleNamePlural }}``inventories`Snake\_case pluralized (for tables)Publishing to Packagist
-----------------------

[](#publishing-to-packagist)

### 1. Create a GitHub Repository

[](#1-create-a-github-repository)

```
cd packages/larmod
git init
git add .
git commit -m "Initial release of LarMod"
git remote add origin git@github.com:your-username/larmod.git
git push -u origin main
```

### 2. Tag a Release

[](#2-tag-a-release)

```
git tag v1.0.0
git push --tags
```

### 3. Register on Packagist

[](#3-register-on-packagist)

1. Go to  and sign in with GitHub
2. Click **Submit** and enter your repository URL: `https://github.com/your-username/larmod`
3. Packagist will read your `composer.json` and register the package as `cedarsol/larmod`
4. Set up the **GitHub webhook** for automatic updates:
    - In your GitHub repo → **Settings → Webhooks → Add webhook**
    - Payload URL: `https://packagist.org/api/github?username=YOUR_PACKAGIST_USERNAME`
    - Content type: `application/json`
    - Secret: your Packagist API token
    - Events: **Just the push event**

### 4. Install from Packagist

[](#4-install-from-packagist)

Once published, anyone can install it:

```
composer require cedarsol/larmod --dev
```

Example Workflow
----------------

[](#example-workflow)

```
# Generate modules for an ERP application
php artisan make:erp-module Inventory
php artisan make:erp-module Sales
php artisan make:erp-module HumanResource
php artisan make:erp-module Accounting
php artisan make:erp-module Procurement
```

Each module gets a clean, consistent structure ready for business logic.

License
-------

[](#license)

MIT License. See [LICENSE](LICENSE) for details.

###  Health Score

36

—

LowBetter than 82% of packages

Maintenance85

Actively maintained with recent releases

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity46

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

Unknown

Total

1

Last Release

79d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/26d9549bc74a86533dcba674fb16b8217c311c2e39a7d42428ac45aeb4270b26?d=identicon)[developerBino](/maintainers/developerBino)

---

Top Contributors

[![developerBino](https://avatars.githubusercontent.com/u/110967408?v=4)](https://github.com/developerBino "developerBino (3 commits)")

---

Tags

laravelscaffoldingarchitecturemodulemodularERP

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/cedarsol-larmod/health.svg)

```
[![Health](https://phpackages.com/badges/cedarsol-larmod/health.svg)](https://phpackages.com/packages/cedarsol-larmod)
```

###  Alternatives

[laravel/ui

Laravel UI utilities and presets.

2.7k134.9M601](/packages/laravel-ui)[laravel/breeze

Minimal Laravel authentication scaffolding with Blade and Tailwind.

3.0k31.3M148](/packages/laravel-breeze)[laravel/wayfinder

Generate TypeScript representations of your Laravel actions and routes.

1.7k4.1M69](/packages/laravel-wayfinder)[internachi/modular

Modularize your Laravel apps

1.1k662.4k8](/packages/internachi-modular)[laravel/ai

The official AI SDK for Laravel.

732506.3k60](/packages/laravel-ai)[laravel/folio

Page based routing for Laravel.

608453.9k27](/packages/laravel-folio)

PHPackages © 2026

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