PHPackages                             cnastasi/monorepo-plugin - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. cnastasi/monorepo-plugin

ActiveComposer-plugin[DevOps &amp; Deployment](/categories/devops)

cnastasi/monorepo-plugin
========================

v0.6.2(3y ago)24.1k—8.3%MITPHP

Since Sep 14Pushed 3y ago1 watchersCompare

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

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

monorepo-plugin
===============

[](#monorepo-plugin)

A plugin to facilitate a PHP monorepo approach, auto-requiring local repositories for you

Usage
-----

[](#usage)

Using it in the root project

`composer require cnastasi/monorepo-plugin`

Using it in a submodule

`composer require cnastasi/monorepo-plugin --dev`

Inside the `composer.json` add this:

```
"extra": {
    "monorepo_paths": [
        "relative/path/where/the/modules/are/located",
        "another/relative/path/where/the/modules/are/located",
    ]
  }

```

or, for retrocompatibility, this:

```
"extra": {
    "monorepo_path": "relative/path/where/the/modules/are/located"
  }

```

Both ways are possible, but it is not recommended

Explanation
-----------

[](#explanation)

When you work with a mono repo in php, and you code is split in many packages required through composer, more packages you've got, more complexity you get.

In fact, for every package you have to explicitly add a path repository, both for direct and undirect dependencies.

In order to help, this plugin will add for you all the dependencies path repositories, scanning al the directories inside a specific folder.

By convention, the folder structure expected is the following one

```
 + root
 |
 +- module1
 |  +- composer.json
 |  +- ...
 +- module2
    +- composer.json
    +- ...

```

```
NOTE: This is still a beta, use it at your own risk

```

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

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

Total

3

Last Release

1306d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/10b75e2cb39cb0beafd94238c476a67ea60b23b102eb66d5068138a1114baa08?d=identicon)[cnastasi](/maintainers/cnastasi)

---

Top Contributors

[![cnastasi](https://avatars.githubusercontent.com/u/2204693?v=4)](https://github.com/cnastasi "cnastasi (2 commits)")

### Embed Badge

![Health badge](/badges/cnastasi-monorepo-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/cnastasi-monorepo-plugin/health.svg)](https://phpackages.com/packages/cnastasi-monorepo-plugin)
```

###  Alternatives

[johnpbloch/wordpress-core-installer

A custom installer to handle deploying WordPress with composer

22110.8M47](/packages/johnpbloch-wordpress-core-installer)[civicrm/composer-compile-plugin

Define a 'compile' event for all packages in the dependency-graph

12488.2k15](/packages/civicrm-composer-compile-plugin)[enumag/no-thanks

Prevents symfony/flex from printing thanks reminder.

3315.6k](/packages/enumag-no-thanks)[inpsyde/vip-composer-plugin

A Composer plugin to ease deployment to wordpress.com VIP servers alongside Composer-based development.

1258.2k](/packages/inpsyde-vip-composer-plugin)[stephank/composer-plugin-nixify

Composer plugin to help with Nix packaging

1710.5k](/packages/stephank-composer-plugin-nixify)

PHPackages © 2026

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