Pinset 2.1
PinsetPolyglot Runtime Version Manager
A predictable polyglot runtime version manager that understands project boundaries.
Getting started
Pin the entire project with one lockfile.
After one-time shell activation, node, python, cargo, flutter, and other commands route directly to their locked versions.
Terminal
pinset init
pinset use node@24 pnpm@11 python@3.14 --no-install
pinset install --locked
node --versionProject model
Intent and exact results, recorded separately.
pinset.tomlUser intent and project policynode = "24" · boundary = "git"pinset.lockExact versions and artifactsversion · URL · checksum · platformshimDirect command routingnode · python · cargo · flutterProvider
Nine tool families. One workflow.
Node.js
node · npm · npxpnpm
pnpmBun
bun · bunxGo
go · gofmtPython
python · pipJava
Temurin JDKRust
cargo · rustc.NET
dotnetFlutter
flutter · dartStrict boundaries
If it is not declared, Pinset does not guess.
Projects do not inherit global versions or fall back to system PATH by default. Network installs, legacy file imports, and fallback must be explicit.
Explainable
current --explain、which --explain、doctor show the final selection and where resolution failed.CLI
Every command, fully documented.
Command pages include purpose, syntax, state changes, examples, JSON support, exit codes, and key errors.
Project and selection commands7 commands→Query and lifecycle commands12 commands→Download cache commands7 commands→Python environment commands4 commands→Command-routing commands6 commands→Source commands7 commands→Provider Registry commands2 commands→Encrypted project environment commands18 commands→