PHPackages                             rector/monitor - 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. [Testing &amp; Quality](/categories/testing)
4. /
5. rector/monitor

ActiveLibrary[Testing &amp; Quality](/categories/testing)

rector/monitor
==============

Monitor code quality for all your projects/packages in one place. Keep same PHP version, packages and even PHPStan extensions. Helps with merging multiple repositories to one.

40[3 issues](https://github.com/rectorphp/monitor/issues)PHPCI failing

Since Jan 15Pushed 4mo ago1 watchersCompare

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

READMEChangelogDependenciesVersions (2)Used By (0)

\[PRIVATE BETA\] Monitor quality of many Packages and Projects in one place
===========================================================================

[](#private-beta-monitor-quality-of-many-packages-and-projects-in-one-place)

[![Downloads total](https://camo.githubusercontent.com/2f3875687a1481daad8bdf643cac0081921798ca51d3bc28b4ac589e21d77c8c/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f726563746f722f6d6f6e69746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/rector/monitor/stats)

Monitor code quality for all your projects and packages in one place, ensuring consistency and eliminating conflicts across PHP versions.

> "Got 99 packages, but same version share none" - unknown

Have a single place to monitor your projects and packages code quality from no more conflicts between packages, no more one project in PHP 8.1 and other in PHP 7.2.

Install
-------

[](#install)

```
composer require rector/monitor --dev
```

1. Single place to Quality control Multiple repositories
--------------------------------------------------------

[](#1-single-place-to-quality-control-multiple-repositories)

```
vendor/bin/monitor analyze
```

This command will load `monitor.php` configuration file from project root. There you define repositories and requirements to meet:

```
use Rector\Monitor\Config\MonitorConfig;

return MonitorConfig::configure()
    ->addRepositories([
        'https://github.com/rectorphp/rector-symfony',
        'https://github.com/rectorphp/rector-doctrine',
        'https://github.com/rectorphp/rector-phpunit',
        'https://github.com/rectorphp/rector-downgrade-php',
    ])
    ->addRepositoryBranch('https://github.com/rectorphp/rector-src', 'main')
    // ->addRepositoryBranch('...', 'stage')

    // composer rules
    ->disallowPackages(['symfony/phpunit-bridge'])
    ->requirePackages([
        'rector/rector',
        'phpecs/phpecs',
        'phpstan/phpstan',
        'phpstan/extension-installer',
        'symplify/phpstan-rules',
    ])

    // version requirements
    ->minPackageVersion('phpstan/phpstan', '2.1')
    ->minPackageVersion('rector/rector', '2.2')

    // other rules
    ->noPhpstanBaseline();
```

The repositories are cloned locally and cached to get fast performance. To refresh them:

```
vendor/bin/monitor analyze --clear-cache
```

2. See full Matrix of Repositories' Dependencies
------------------------------------------------

[](#2-see-full-matrix-of-repositories-dependencies)

This command shows dependency table for each defined repository. It will show which package versions are used in which repositories. This way you can easily spot conflicts between your packages and projects.

```
vendor/bin/monitor matrix
```

↓

[![](./docs/dependency-matrix.png)](./docs/dependency-matrix.png)

3. See Difference between Two Projects
--------------------------------------

[](#3-see-difference-between-two-projects)

- Do you want to merge 2 projects into one monorepo?
- Are you curious how much are 2 project different to each other?

Compare them to eliminate their differences first, then make their merge smooth and easy:

```
vendor/bin/monitor compare  --merge-project

# e.g.
vendor/bin/monitor compare ../monorepo-project --merge-project ../project-to-be-merged
```

This command will check:

- differences in dependencies
- differences in autoload
- if Symfony, difference between config files
- PHPStan analyzed paths
- PHPStan extensions
- PHPStan level

Happy coding!

###  Health Score

16

—

LowBetter than 5% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity14

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.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/924196?v=4)[Tomas Votruba](/maintainers/TomasVotruba)[@TomasVotruba](https://github.com/TomasVotruba)

---

Top Contributors

[![TomasVotruba](https://avatars.githubusercontent.com/u/924196?v=4)](https://github.com/TomasVotruba "TomasVotruba (12 commits)")

### Embed Badge

![Health badge](/badges/rector-monitor/health.svg)

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

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M570](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)

PHPackages © 2026

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