We also discussed a bit on monolith repo management. As always there is pros and cons everywhere.
For non-monolithic repositories, i.e. everything is splitted in dedicated repositories:
For monolithic repositories, it's a bit the opposite. However I must say thanks to the composer plugin I had quite a pleasant experience when doing it for alice (https://github.com/nelmio/alice) than for https://github.com/api-platform/core and another library of mine.
The two biggest issues I've seen with monolithic repositories were:
To the first problem, my "solution" is to stick a framework bridge in a library to exposing a configuration and registering services to the DIC. Anything past that should be done in a dedicated bundle/provider/etc.
To the second the composer plugin made it extremely easy. For example for alice for the symfony bridge, thanks to the plugin I only had to do:
$ composer bin symfony require symfony/framework-bundle $ composer bin symfony require nelmio/alice:dev-master # you have to include the library itself still if you want to test it against your library
And then for testing the Symfony bridge of alice, I just have to use the
vendor-bin/symfony/vendor/autoload.php instead of the default
vendor/autoload.php one and play with PHPUnit groups to test only what I want. So it allows me to easily achieve a certain level of isolation without requiring to make the bridges in dedicated repositories.