# You should be using a monorepo... For everything

Table of Contents

There are only few topics that spark as much debate as the repository structure - at least that is the case for me and my boss.

“Monorepo vs. Polyrepo” is the new “Sliders vs. Carousel”, but with significantly higher stakes for the developer experience and the velocity of development.

I’m here to take a stance: You should be using a monorepo. And not just for your company’s microservices — but arguably for almost everything you build.

Is it perfect? No. Is it painful at times? Absolutely. But the alternatives are often silent killers of productivity.

The Concerns

Let me address the elephant in the room — or rather, let’s hear from a skeptical duckveloper who’s never worked with a monorepo before.

Understanding Monorepos

Managing Cognitive Load

Code Ownership

.github/CODEOWNERS
# Platform team owns shared infra
/packages/infra/ @org/platform-team
# UI team owns the component library
/packages/ui-kit/ @org/ui-team
# Backend team owns the API
/apps/api/ @org/backend-leads

The Real-World Scenarios

Now for the practical questions — the scenarios that come up in actual development.

Sharing Code Between Services


Some monorepos examples:

web development for the rest of us
85.3K4.7KMITJavaScript
The React Framework
136.8K30.1KMITJavaScript
The web framework for content-driven websites. ️ Star to support our work!
55.1K3KNOASSERTIONTypeScript
The Postgres development platform. Supabase gives you a dedicated Postgres database to build your web, mobile, and AI applications.
95.3K11.1KApache-2.0TypeScript
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
100.5K3.3KApache-2.0Rust

Dependency Management and Storage

Refactoring and Atomic Changes

Test Failures and CI

Build Systems and Tooling

Build Performance

Code Organization

What About Small Projects?

What If I Already Have Multiple Repos?

Maybe you’re reading this and thinking: “This all sounds great, but we already have multiple repositories set up. Can’t we just migrate to a monorepo later when we have time?”

The Migration Challenge

Tooling Consistency

You’re in Good Company

If you’re still skeptical, consider that the world’s most sophisticated engineering organizations figured this out decades ago:

  • Google: Their monorepo contains billions of lines of code — they literally built Bazel to make it work at that scale.
  • Meta: Runs tens of thousands of developers in a single repository.
  • Uber: Migrated from thousands of polyrepos specifically to solve dependency hell, with documented improvements in their first year.

These aren’t just tech giants with unlimited resources. Projects like Vercel, Svelte, Supabase, and countless others use monorepos because the benefits are real and the tooling is accessible.

My Personal Take

Here’s something I strongly believe: everyone should create their own monorepo template.

I’m talking about a personal starter with your go-to stack: your preferred UI framework, a website setup, a docs site, a simple service runtime, and all the bells and whistles — CI/CD pipelines, linting, formatting, the works. Pre-configure everything exactly how you like it.

Yes, it’s a time investment. A significant one. You’ll spend hours (maybe days) getting your tsconfig just right, setting up your build pipelines, configuring your tooling. But here’s the payoff: you do it once.

After that? You never waste time configuring projects from scratch ever again. Every new idea, side project, or client work starts from a battle-tested foundation. No more “should I use ESLint flat config or the old one?” No more “which TypeScript settings do I need again?” No more copy-pasting CI workflows and fixing the paths.

Clone your template, run the setup script, and start building. The infrastructure is already there, already working, already optimized. You go from idea to first commit in minutes instead of hours.

Conclusion

The tooling is mature. The patterns are proven. The investment is minimal, but the payoff is enormous.

“Good programmers know what to write. Great ones know what to rewrite and reuse.”

Eric S. Raymond

Fractal Tess avatar

Thanks for reading! I hope you enjoyed the article and found it helpful. If you have any questions or feedback, please feel free to reach out to me.


More Posts