{
  "id": 13029386,
  "title": "From Monorepo to Turborepo: Managing Multiple Projects",
  "url": "https://urgent.news/2026/10/09/from-monorepo-to-turborepo-managing-multiple-projects",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-09T04:42:43.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/joungpark/from-monorepo-to-turborepo-managing-multiple-projects-6e3"
  },
  "original_language": "en",
  "account": "Monorepos are repositories containing multiple related projects. They are beneficial when projects share libraries, contracts, changes, and tooling. However, managing dependencies and packages in a monorepo can be challenging. Workspaces in npm CLI provide a solution by allowing multiple packages to be managed within a single top-level root package. This enables shared packages without each project managing local references and updates independently.\n\nWith workspaces, each package declares its own dependencies, which are installed and managed from the repository root. This allows for easier management of shared packages and relationships between projects. For example, the Web project can depend on shared API types in the workspace using the `workspace:*` protocol. This allows pnpm to use the local workspace package instead of resolving the package from a local file dependency.\n\nWhile workspaces simplify package management, they are not a complete solution. As the number of projects and dependencies grows, coordinating builds, tests, and other tasks becomes increasingly complex. Task orchestration can help by defining a task graph that describes dependencies between tasks and determining their execution order. This can automate the selection of relevant tasks based on package relationships and changes, making it easier to manage the development process in a large monorepo.",
  "summary": "Why a Monorepo? A monorepo is a single repository containing multiple distinct projects, with well-defined relationships. — Monorepo Explained A monorepo makes sense when multiple projects have meaningful relationships: Shared libraries and utilities — reuse common code across projects. Shared contracts — keep API types consistent between producers and consumers. Cross-project changes — update…",
  "key_points": [
    "Monorepos contain multiple related projects.",
    "Workspaces simplify package management in monorepos.",
    "Task orchestration helps manage complex builds and tests."
  ],
  "editors_take": "Switching from monorepo to Turborepo streamlines task management by adding orchestration to package management, enabling automated task selection based on project relationships and changes.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}