PHPackages                             nusje2000/composer-monolith - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. nusje2000/composer-monolith

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nusje2000/composer-monolith
===========================

Provides commands to validate dependencies within a monolithic repository structure

v1.4.0(3y ago)221.8k3[2 issues](https://github.com/nusje2000/composer-monolith/issues)MITPHP

Since Jan 5Pushed 3y ago2 watchersCompare

[ Source](https://github.com/nusje2000/composer-monolith)[ Packagist](https://packagist.org/packages/nusje2000/composer-monolith)[ RSS](/packages/nusje2000-composer-monolith/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (7)Versions (22)Used By (0)

Composer monolith
=================

[](#composer-monolith)

### Installation

[](#installation)

Using composer:

```
composer require nusje2000/composer-monolith --dev

```

Validation rules
----------------

[](#validation-rules)

### IncompatibleVersionRule

[](#incompatibleversionrule)

This rule checks the version constraint of dependencies in subpackages and compares them with the version constraint on that same dependency in the root composer.json file. Example:

- Sub-package `foo/foo-package` has a dependency on `bar/bar-package ^1.0`
- Root composer.json defines a dependency on `bar/bar-package ^2.0`
- Rule will trigger because version `^1.0` is not compatible with version `^2.0`

### MissingDependencyRule

[](#missingdependencyrule)

This rule will check if the dependencies of sub-packages are all present in the root composer definition.

### MissingReplaceRule

[](#missingreplacerule)

This rule will check if all the sub-packages are defined as `replaced` in the root composer definition. See: .

Commands
--------

[](#commands)

### Validating project structure

[](#validating-project-structure)

Within the root of your project you can use `vendor/bin/composer-monolith validate`to validate the project structure.

### Autofixing

[](#autofixing)

When running `vendor/bin/composer-monolith validate` you can add the `--autofix` option and then the validator will try to fix the problems outputed by the validator.

### Version equalizer

[](#version-equalizer)

When in a monolithic repository it might come in helpfull to equalize the version of a dependency across all sub packages. To do this, you can use `vendor/bin/composer-monolith equalize`. This can only be used on dependencies with inconsistent versions.

### Version updater

[](#version-updater)

To update a dependency you can use `vendor/bin/composer-monolith update  `. This will make sure the version constraints in all sub- and rootpackages match the provided version\_constraint. This will not actually update the package using composer, this must still be done manually.

### CODEOWNERS file

[](#codeowners-file)

In large monolithic repositories, the maintainability can be difficult. Using a CODEOWNERS file can let you VCS make sure that the correct team members must approve things like PR's before it gets merged. There is a command that lets you generate and validate a CODEOWNERS file so you don't have to maintain this. This command reads the authors from different internal packages and puts them in a central CODEOWNERS file located in the root of you project. To generate a CODEOWNERS file, just run `vendor/bin/composer-monolith codeowners:generate`. To make sure that the CODEOWNERS file is always up to date you could use the validate command in your CI system to validate the CODEOWNERS file and to make sure no one is missing. To validate the CODEOWNERS file, just run `vendor/bin/composer-monolith codeowners:validate`

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance0

Infrequent updates — may be unmaintained

Popularity25

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity66

Established project with proven stability

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

Recently: every ~250 days

Total

14

Last Release

1315d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/553da121f7aee7ae5346e8a9cd13a6812a063eb0f0faba35f59f6f17e49bec16?d=identicon)[nusje2000](/maintainers/nusje2000)

---

Top Contributors

[![nusje2000](https://avatars.githubusercontent.com/u/17175959?v=4)](https://github.com/nusje2000 "nusje2000 (58 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/nusje2000-composer-monolith/health.svg)

```
[![Health](https://phpackages.com/badges/nusje2000-composer-monolith/health.svg)](https://phpackages.com/packages/nusje2000-composer-monolith)
```

###  Alternatives

[matomo/matomo

Matomo is the leading Free/Libre open analytics platform

21.4k37.3k](/packages/matomo-matomo)[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[phpro/soap-client

A general purpose SoapClient library

8885.6M46](/packages/phpro-soap-client)[elgg/elgg

Elgg is an award-winning social networking engine, delivering the building blocks that enable businesses, schools, universities and associations to create their own fully-featured social networks and applications.

1.7k15.7k4](/packages/elgg-elgg)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[internal/dload

Downloads binaries.

98142.7k10](/packages/internal-dload)

PHPackages © 2026

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