How do you organize your monorepo? I'm not asking about massive Google scale. Say, 1-15 million lines of code.
By project? By language? By technology type?
My current sketch:
.dotfile # Configuration, IDE, etc
project1/ # High-level project
library1a/
library2b/
project2/ # High-level project
library2a/
library2b/
go-common/ # Common Go libraries
js-common/ # Common JS libraries
tools/ # Compilers
But every time I think about this, I'm not quite satisfied. Curious what others have found successful for mid-size monorepo.