Why xnpm
npm installs and publishes packages. But a real release across multiple packages is bigger than that — and nothing was built to handle it.
The gap
Every time you release, you're manually handling things npm never promised to handle.
For code agents — 2.30.0
Code agents are good at commands, but bad at guessing release state. xnpm gives them a stable contract: discover the graph, resolve intent, return JSON plans, avoid hidden prompts, execute in dependency order, journal local changes, and report what happened.
4 in Install → exit codes.file: development links. xnpm can translate them for npm publish and restore them afterward.Full contract — what an agent can run alone vs. what needs your --yes: Agents.
Before vs after
Next direction — not yet shipped
Releasing upstream usually means installing/updating downstream consumers, building and testing them, releasing downstream if needed, writing version-tagged feedback, and pushing the final repo state. xnpm should eventually understand that chain instead of only running the command in front of it — remembering the last release, knowing the previous release for each package, and recommending the next step. None of this is available today; it's the direction, not a feature list.