I have been approaching this by eventually breaking out a module into its own repo when the time comes for that (enough resources to dedicate to maintaining it independently, having tests, and so forth).
When the folks working on the monorepo really need to slam through a change in the now-independent monorepo, we can use git submodules.
When the folks working on the monorepo really need to slam through a change in the now-independent monorepo, we can use git submodules.