Monorepos: Please don’t
My advice is that if components need to release together, then they ought to be in the same repo.  I'd probably go further and say that if you just think components might need to release together then they should go in the same repo, because you can in fact pretty easily manage projects with different release schedules from the same repo if you really need to.<p>On the other hand if you've got a whole bunch of components in different repos which need to release together it suddenly becomes a real pain.<p>If you've got components that will never need to release together, then of course you can stick them in different repositories.  But if you do this and you want to share common code between the repositories then you will need to manage that code with some sort of robust versioning system, and robust versioning systems are hard.  Only do something like that when the value is high enough to justify the overhead.  If you're in a startup, chances are very good that the value is <i>not</i> high enough.<p>As a final observation, you can split big repositories into smaller ones quite easily (in Git anyway) but sticking small repositories together into a bigger one is a lot harder.  So start out with a monorepo and only split smaller repositories out when it's clear that it really makes sense.