Monorepo Tools
Managing multi-package repos cleanly.
Task runners / build orchestration
- ★ Turborepo — Vercel's task runner; remote caching, simple config, default for new TS monorepos.
- ★ Nx — task runner + plugins; more opinionated, deeper plugin ecosystem (especially for Angular and Java mixes).
- Moon — Rust-based task runner; growing in popularity.
- Bazel / Pants — when you have polyglot code at scale.
Package managers (workspace support)
- ★ pnpm — fastest, content-addressed store, strict by default. Default for new monorepos.
- Bun — fast, includes a workspace-aware runtime + bundler.
- npm workspaces — works fine for small repos.
- Yarn — Berry/Modern is fine, but uptake has plateaued.
Versioning / publishing
- ★ Changesets — manual changesets per PR → consolidated changelog + version bump + publish. Default for OSS TS monorepos.
- release-please (Google) — automates releases from conventional commits.
- semantic-release — older but still common.
Pick this if…
- Default new TS monorepo: pnpm + Turborepo + Changesets.
- Already on Nx, or polyglot needs: Nx.
- Bun-first: Bun workspaces + Turborepo (or Moon).
- Massive polyglot enterprise: Bazel.