Problem
The Node version is pinned in .nvmrc but package.json has no engines field. Contributors and CI can silently run on an unsupported Node version. packageManager correctly pins pnpm@9.6.0, but there is no equivalent guardrail for Node.
Proposed change
- Add an
engines field to package.json matching .nvmrc (e.g. "node": ">=18 <21" or the exact supported range)
- Optionally set
engine-strict=true in .npmrc / document it so mismatches fail fast
Acceptance criteria
Problem
The Node version is pinned in
.nvmrcbutpackage.jsonhas noenginesfield. Contributors and CI can silently run on an unsupported Node version.packageManagercorrectly pinspnpm@9.6.0, but there is no equivalent guardrail for Node.Proposed change
enginesfield topackage.jsonmatching.nvmrc(e.g."node": ">=18 <21"or the exact supported range)engine-strict=truein.npmrc/ document it so mismatches fail fastAcceptance criteria
engines.nodepresent and consistent with.nvmrcand the CI Node version