Turborepo for Teams: Structuring a Monorepo Across Multiple Next.js Apps
Once a team has more than one Next.js app — a marketing site, a dashboard, a docs site — the question stops being "should we use a monorepo" and becomes "how do we structure it so it doesn't slow everyone down."
Turborepo's task graph and caching solve the build-speed half of that problem almost for free. The harder half is workspace boundaries: what's genuinely shared in a `packages/` directory, what stays app-specific, and how cross-app routing and deploys are handled so teams can ship independently without stepping on each other.
This post is a practical structure for that split, based on setting it up for products with more than one deployable app sharing a domain.