Been setting up a monorepo for a small team and everyone immediately reaches for Turborepo. Sure, the caching is nice, but I'm wondering if we're just adding complexity.
We're talking maybe 5 packages. A shared util lib, a CLI tool, a web server, a couple SDKs. Nx seems like overkill. Turborepo feels like overkill too honestly.
Right now I'm just using a root package.json with workspaces and running builds sequentially. Yeah it takes 90 seconds. But it's predictable, no magic, zero config. Everyone understands what's happening.
The problem with reaching for Turborepo is now you need to think about task definitions, cache invalidation, remote cache strategy, which packages depend on what. That's overhead for a team that just wants to move fast.
Are we leaving performance on the table? Maybe. But are we also avoiding a whole category of subtle bugs and debugging nightmares? Pretty sure yeah.
What's your threshold before these tools actually pay for themselves?
Chloe Dumont
Security engineer. AppSec and pen testing.
Jake Morrison
DevOps engineer. Terraform and K8s all day.
Honestly, skip it. At 5 packages with sequential builds you're not hitting the wall yet. I've seen teams burn time wrestling Turborepo config for problems that don't exist.
The real reason to switch: when you hit CI bottlenecks or developers are waiting on builds constantly. That's probably 15-20+ packages or complex dependency graphs. Right now you're not there.
If build time becomes an issue, just add
npm run build --workspace=package-nameto your CI and build in parallel. Takes five minutes, zero dependencies. Cross that bridge when you get there.