PHPackages                             nasirkhan/module-manager - 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. nasirkhan/module-manager

ActiveLibrary[Framework](/categories/framework)

nasirkhan/module-manager
========================

Module Manager &amp; Generator for Laravel Starter Kit (https://github.com/nasirkhan/laravel-starter)

v6.4.0(1mo ago)1039.7k↓21.3%71MITPHPPHP ^8.3 || ^8.4CI passing

Since Nov 14Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/nasirkhan/module-manager)[ Packagist](https://packagist.org/packages/nasirkhan/module-manager)[ Docs](https://github.com/nasirkhan/module-manager)[ RSS](/packages/nasirkhan-module-manager/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (16)Versions (44)Used By (1)

Module Manager for Laravel Starter
==================================

[](#module-manager-for-laravel-starter)

[![Module Manager - A powerful module management package for Laravel Starter](https://camo.githubusercontent.com/1858db9260cf3891d0f36d944b8995c8aea385f9742894a9cd9ff05f45a6cc42/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f64736c6731666338792f696d6167652f75706c6f61642f76313737343730303330322f6d6f64756c655f6d616e616765725f6c6f676f5f6d7a327534692e6a7067)](https://camo.githubusercontent.com/1858db9260cf3891d0f36d944b8995c8aea385f9742894a9cd9ff05f45a6cc42/68747470733a2f2f7265732e636c6f7564696e6172792e636f6d2f64736c6731666338792f696d6167652f75706c6f61642f76313737343730303330322f6d6f64756c655f6d616e616765725f6c6f676f5f6d7a327534692e6a7067)

Module Manager is a powerful module management package for [Laravel Starter](https://github.com/nasirkhan/laravel-starter), providing version tracking, migration management, dependency resolution, and comprehensive module lifecycle management.

[![Latest Version on Packagist](https://camo.githubusercontent.com/12cecdec994e376b0ac78d89866dd9eb2254746017b6776adf6566d336667f5e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e617369726b68616e2f6d6f64756c652d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nasirkhan/module-manager)[![Total Downloads](https://camo.githubusercontent.com/78932f02f6e94a5a0e10b0134907cf7bc05c2ce504e64ff4c0cdaa0523a2cfcd/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e617369726b68616e2f6d6f64756c652d6d616e616765722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nasirkhan/module-manager)[![StyleCI](https://camo.githubusercontent.com/124dba433dd0a1b232244b1c0cab5d6b80a4d781126bd40f6bf58fa0dd3ce700/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3536353732303232392f736869656c643f6272616e63683d6d61696e267374796c653d666c61742d737175617265)](https://github.styleci.io/repos/565720229)

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

[](#requirements)

- PHP ^8.3
- Laravel ^12.0 || ^13.0

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

[](#-installation)

```
composer require nasirkhan/module-manager
```

Quick Start
-----------

[](#quick-start)

```
php artisan module:status          # View all modules and their status
php artisan module:dependencies    # Check module dependencies
php artisan migrate                # Run pending migrations
```

Available Commands
------------------

[](#available-commands)

### Core

[](#core)

CommandDescription`module:status [module]`View module status, versions, and dependencies`module:dependencies [module]`Check dependency satisfaction`module:publish {module}`Publish a module to `Modules/` for customization`module:diff {module} [--detailed]`Compare package version with published version`module:enable {module}`Enable a module`module:disable {module}`Disable a module`module:build {module}`Scaffold a new module`module:remove {module}`Remove a module`module:make-test {module} {name} [--unit]`Generate a test class for a module`module:help [topic]`Show command reference and workflows### Migration Management

[](#migration-management)

CommandDescription`module:track-migrations [module] [--force]`Record current migration state as baseline`module:detect-updates [module]`Detect new migrations after a composer update`module:check-migrations [module]`Check for unpublished migrationsModule Structure
----------------

[](#module-structure)

```
Modules/Post/
├── module.json
├── Config/
├── Console/
├── database/
│   ├── migrations/
│   ├── seeders/
│   └── factories/
├── Http/
│   ├── Controllers/
│   ├── Requests/
│   └── Middleware/
├── Livewire/
├── Models/
├── Providers/
├── Resources/
├── routes/
├── lang/
├── Tests/
│   ├── Feature/
│   └── Unit/
└── Resources/
    └── views/

```

---

Module Configuration (`module.json`)
------------------------------------

[](#module-configuration-modulejson)

```
{
    "name": "Post",
    "alias": "post",
    "description": "Blog post management module with categories, tags, and moderation",
    "version": "1.0.0",
    "keywords": ["post", "blog", "article", "content"],
    "priority": 0,
    "requires": ["Category", "Tag"]
}
```

- `priority`: Load order — higher values load first (e.g. `10` for core deps, `5` for UI, `0` for content)
- `requires`: Module names this module depends on

---

Publishing Module Assets
------------------------

[](#publishing-module-assets)

```
php artisan vendor:publish --tag=post-migrations
php artisan vendor:publish --tag=post-views
php artisan vendor:publish --tag=post-config
php artisan vendor:publish --tag=post-lang
```

---

Namespace Architecture
----------------------

[](#namespace-architecture)

LocationNamespace`vendor/nasirkhan/module-manager/src/Modules/``Nasirkhan\ModuleManager\Modules\{Module}\...``Modules/` (published)`Modules\{Module}\...`When publishing a module (`module:publish`), all namespaces are rewritten automatically. After publishing, run:

```
composer dump-autoload
php artisan config:clear
```

---

Troubleshooting
---------------

[](#troubleshooting)

**Module not showing in status:**

```
composer dump-autoload
php artisan cache:clear && php artisan config:clear
```

**Migrations not detected after update:**

```
php artisan module:track-migrations --force
php artisan module:detect-updates
php artisan vendor:publish --tag=post-migrations
php artisan migrate
```

---

Programmatic API
----------------

[](#programmatic-api)

### ModuleVersion

[](#moduleversion)

```
use Nasirkhan\ModuleManager\Services\ModuleVersion;

$service = app(ModuleVersion::class);

$service->getVersion('Post');               // "1.0.0"
$service->getDependencies('Post');          // ['Category', 'Tag']
$service->dependenciesSatisfied('Post');    // bool
$service->getModulesByPriority();           // ordered module list
```

### MigrationTracker

[](#migrationtracker)

```
use Nasirkhan\ModuleManager\Services\MigrationTracker;

$tracker = app(MigrationTracker::class);

$tracker->trackModuleMigrations('Post', '1.0.0');
$tracker->getNewMigrationsSinceLastCheck('Post');
$tracker->getPendingMigrations('Post');
$tracker->hasUpdates('Post');
```

---

Contributing
------------

[](#contributing)

See [CONTRIBUTING.md](CONTRIBUTING.md) for development guidelines.

License
-------

[](#license)

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

Available Modules
-----------------

[](#available-modules)

ModuleVersionDescriptionDependencies**Post**1.0.0Blog post management with moderationCategory, Tag**Category**1.0.0Category management with nested sets—**Tag**1.0.0Polymorphic tagging system—**Menu**1.0.0Dynamic menu with nested items—

###  Health Score

59

—

FairBetter than 99% of packages

Maintenance90

Actively maintained with recent releases

Popularity38

Limited adoption so far

Community16

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 91.6% 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 ~30 days

Recently: every ~1 days

Total

41

Last Release

53d ago

Major Versions

2.x-dev → 3.x-dev2025-04-02

v3.0.0 → v4.0.02025-11-20

v3.1.0 → v4.2.02025-11-20

v4.3.0 → v5.0.02026-02-10

v5.7.0 → v6.0.02026-03-22

PHP version history (5 changes)v0.1.0PHP ^8.0

v0.5.0PHP ^8.1

3.x-devPHP ^8.2

v6.0.0PHP ^8.3

v6.1.0PHP ^8.3 || ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/27802773a2668018fdca8b76c35d03ce16cfc92c0f9c6703fb532e77780eadc0?d=identicon)[nasirkhan](/maintainers/nasirkhan)

---

Top Contributors

[![nasirkhan](https://avatars.githubusercontent.com/u/396987?v=4)](https://github.com/nasirkhan "nasirkhan (208 commits)")[![StyleCIBot](https://avatars.githubusercontent.com/u/11048387?v=4)](https://github.com/StyleCIBot "StyleCIBot (19 commits)")

---

Tags

hacktoberfestlaravel-startermodulemodule-managerModule ManagerLaravel Startermodule generatornasirkhannasirkhansaikat

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/nasirkhan-module-manager/health.svg)

```
[![Health](https://phpackages.com/badges/nasirkhan-module-manager/health.svg)](https://phpackages.com/packages/nasirkhan-module-manager)
```

###  Alternatives

[juzaweb/cms

Juzaweb CMS is a Content Management System (CMS) developed based on Laravel Framework and web platform whose sole purpose is to make your development workflow simple again. Project develop by Juzaweb

187571.2k](/packages/juzaweb-cms)[eveseat/web

SeAT Web Interface

2723.2k135](/packages/eveseat-web)

PHPackages © 2026

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