Gomonorepo.org will brief you with all important answers.
When you pop out of PHP bubble, you can see in awesome-monorepo a collection of monorepo tools, that are used out in a wild by another languages. Google has Bazel, Facebook has Buck, Twitter and Foursqaure have Pants.
Still a PHP-related tool is missing. Why? It might be the case, that no global company that goes open-source uses PHP as their main language.
PHP is aware of monorepo term mainly thanks to Symfony, that uses it to maintain all its components, that are split to standalone read-only repositories, e.g. Symfony\Console, Symfony\EventDispatcher.
Since Symfony needed a fast tool to split over 30 repositories across 3 and more branches, Fabien Potencier came with splits tool.
But it's still to complex to start with and it doesn't cover the most common case - building monorepo from already existing repositories.
I work on Shopsys Framework, an open-source e-commerce platform on Symfony and the monorepo topic finally came to the sprint to be realized. If you've read until now, you know there is not much shared know-how or support for new-commers to adopt a monorepo pattern in PHP.
It's slowly getting better with monorepo in PHP. But still many people don't know what is difference between a monorepo and a monolith.
- What monorepo is and what monorepo isn't,
- what is single repo, monolith - all terms explained,
- what tools to use in PHP to simplify work with monorepo,
- when to use it and when rather not,
- historical must-read posts, why to use it included
- what talk to watch...
...and also list of open-source that run on monorepo. Got monorepo on your open-source project? Add it there to inspire others. Symfony, Laravel, Sylius and Symplify are already there.
Do you want more on this topic? You might like these related posts: How Monolithic Repository in Open Source saved my Laziness, How to Decouple Monolith like a Boss with Composer Local Packages, Go PHP 7.1!