When my 2 apps (monolith and Qalin) started needing the same domain objects, I had a choice: publish packages to Packagist, and feel the pain of having to update multiple repos to propagate a change...

Or pull up a 10 year old trick: monorepo.

2 apps, 10 packages, zero extra tooling. Composer path repositories handle it all out of the box!

I've written about how to set this up.

https://gnugat.github.io/2026/03/04/xl-11-monorepo.html