Manage runtime versions with vs
vs is a cross-platform runtime version manager inspired by vfox, with explicit project, session, and global activation flows plus support for multiple plugin backends.
Covers project-scoped version files, session activation, shell hooks, plugin backends, and the workspace crate layout.
Quick start
local workspacecargo build -p vs-cli
export VS_HOME="$HOME/.vs"
vs config registry.address /absolute/path/to/fixtures/registry/index.json
vs add nodejs
vs install nodejs@20.11.1
vs use nodejs@20.11.1 -g
eval "$(vs activate zsh)"Start with the local fixture registry while developing, then switch to your preferred registry source or distribution build once you are ready.
Core capabilities
vs is built for everyday runtime management as well as plugin and workspace development.
Multi-backend runtime management
Build vs with Lua, WASI, or both backends depending on the plugin model you want to ship.
Scope-aware activation
Pin versions at project, session, or global scope and keep the resolution model explicit.
Plugin-friendly architecture
Use lightweight Lua hooks or typed native descriptors without changing the CLI surface.
Shell-first workflows
Activate shells, run ad-hoc commands with `vs exec`, or inspect active runtimes directly.
Explore vs
Jump directly to setup, command behavior, plugin development, or workspace architecture.
Guides
Start from a local checkout, configure a home, add plugins, and activate tools.
Reference
Understand the CLI surface, shell activation, PATH behavior, and compatibility files.
Plugins
Compare Lua plugins and native descriptors, and see how both fit the same lifecycle.
Project
Explore the workspace layout, crate boundaries, and the implementation model behind the CLI.