Why this matters
Guarantees consistent tooling and cache behavior across all workspaces.
Root package.json must define the packageManager field (e.g., "pnpm@9.x") and the repo must not contain other lockfiles or tool config (e.g., yarn.lock, package-lock.json) conflicting with that choice.
Guarantees consistent tooling and cache behavior across all workspaces.
Side-by-side examples engineers can pattern-match during review.
{
"name": "repo",
"packageManager": "npm@10.6.0"
}
// and PR adds yarn.lock{
"name": "repo",
"packageManager": "pnpm@9.4.0"
}
// only pnpm-lock.yaml at rootpackage.json { "packageManager": "pnpm@9.4.0" }yarn.lockFrom the same buckets as this rule.