# Fixed Versions

> Enforces pinned exact versions for all dependency installs and updates. Use when installing, updating, or reviewing package dependencies.

- Skill: `stagewise-io/fixed-versions` (Agent Skill)
- Install (CLI): `npx skillmds@latest add stagewise-io/fixed-versions`
- Raw SKILL.md: https://api.skillmd.com/api/skills/stagewise-io/fixed-versions/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: stagewise-io (https://skillmd.com/u/stagewise-io)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/stagewise-io/fixed-versions

---


# Fixed Versions

**Always use exact (pinned) versions.** No ranges (`^`, `~`, `*`). No floating.

## Rules

1. **Install with exact version.** `pnpm add pkg@5.0.0` → locks `5.0.0` in `package.json`. Never `pnpm add pkg` (resolves to `^latest`).

2. **Update by specifying the target version.** `pnpm add pkg@4.2.1` overwrites the existing entry. Never `pnpm update pkg` (shifts within range).

3. **Verify after install.** Check `package.json` — version must have **no** `^` or `~` prefix.

4. **`workspace:*` is exempt.** Inter-workspace links always use `workspace:*`.

5. **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.

