Monorepos: Multiple Projects, One Repository
A monorepo holds multiple deployable projects in one Git repository — connecting directly to the monorepo-vs-polyrepo trade-offs from the Git & GitHub Mastery track's Git at Scale course, applied specifically to Vercel deployments.
Vercel deploys a specific directory within a monorepo as its own Project. When importing a repository, specify the Root Directory for a given Vercel Project (e.g., apps/marketing-site) — that Project only builds and deploys from that subdirectory, even though the full monorepo lives in one Git repository.
Multiple Vercel Projects can point at the same monorepo, each with a different Root Directory. A marketing site, a dashboard application, and a documentation site living in one monorepo can each be a separate Vercel Project, deploying independently — pushing to the repository triggers builds only for the Projects whose directories actually changed (where configured correctly).
Shared code (a component library, shared types) lives in a common package other apps import from. The same monorepo tooling patterns (npm/pnpm/yarn workspaces, or a dedicated tool like Turborepo) that make a monorepo manageable at all apply here — Vercel deploys the result, but doesn't replace your monorepo tooling choice.
Turborepo (built by the same team as Vercel and Next.js) is a common pairing for monorepo build performance. Remote caching and smart rebuild-only-what-changed behavior meaningfully speed up CI/build times in a monorepo with multiple apps — worth knowing exists even if this course doesn't go deep into configuring it.
Ignored Build Step lets a Project skip building when nothing relevant to it changed. Configurable per-Project, this prevents unnecessary rebuilds of, say, your documentation site's Vercel Project when only the dashboard app's code changed in the same push — directly analogous to Railway's Watch Paths concept from the Railway Mastery track.
Why this matters for you
A monorepo genuinely changes how you structure Vercel Projects — understanding Root Directory and Ignored Build Step is what makes multiple independently-deployable applications work correctly from one shared repository.
▶️ Before the next lesson
If you work with (or want to try) a monorepo structure, look at how Vercel's Root Directory setting would apply to it — even without necessarily setting it up yet, just to understand your starting point.