Policy
Minimum Node is 22; npm minimum is 10 (declared under engines in the repo root and each Next app).
.nvmrc pins major 24 so developers and GitHub Actions agree on the same runtime family.
Hosts must provide Node 24 for builds and PM2 runtime; older Node majors should be upgraded before deploy.
Scripts you actually run
source scripts/agent-shell-init.sh — loads nvm and refuses shells below Node 24 when sourced from repo root.
scripts/with-node-path.sh — prepends /usr/bin when that node is modern enough, and prepends repo node_modules/.bin so next and npx resolve when not launched via npm run.
Production-style Next builds on Ploi should always flow through app package.json build scripts that wrap with-node-path.sh.
Workspaces
Run npm install from the monorepo root so apps/* and packages/* link correctly.
For a clean CI install of a single app, use npm ci inside that app after selecting the correct Node version.