| Must have: Tooling that can interact on a file or sub directory level. Git cannot do that. Should have: Access control to view and change file on a subdirectory basis. Everyone can see the repo so you can't permissions users per repo anymore. It's optional but these companies have that. Recommended: Global search tools, global refactoring tools, global linting that can identify file types automatically and apply sane rules, unit test checks and on commit checks available out of the box for everything and that run remotely quickly, etc... It's regular tooling that every development company should have, but only big companies with mono repos have it. It's not that the tooling is needed to deal with the mono repo, it's that the tools are great and you want them. But they can't be implemented in a multi repo setup. Think of it. How could you have a global search tool in a multi repo setup? Most likely, you can't even identify what repo exists inside the company. Makes me realize. If I ever go back to another tech company, the shit tooling is gonna make me cry. |
Global refactoring seems a lot less necessary if you have clean separation among your processes. Maybe this is me coming from a more microservices perspective, but I'm inclined to say that needing to do a refactor that cuts across several different functional areas is a sign that things are becoming hopelessly snarled together.