Fixed Versions
Always use exact (pinned) versions. No ranges (^, ~, *). No floating.
Rules
Install with exact version.
pnpm add pkg@5.0.0→ locks5.0.0inpackage.json. Neverpnpm add pkg(resolves to^latest).Update by specifying the target version.
pnpm add pkg@4.2.1overwrites the existing entry. Neverpnpm update pkg(shifts within range).Verify after install. Check
package.json— version must have no^or~prefix.workspace:*is exempt. Inter-workspace links always useworkspace:*.DevDependencies too. Same rule — exact versions, no ranges.
Native dependencies
If the package you are adding to apps/klex ships a .node addon or a prebuilt
binary, pinning is not enough — it must also be virtualized, copied and probed.
Read .stagewise/skills/native-dependencies/SKILL.md before adding it.
Rationale
- Reproducible installs across machines and CI.
- No silent breaking changes from minor/patch bumps.
- Explicit upgrade intent — version changes are visible in diffs.