vs is a Rust workspace for a cross-platform runtime version manager inspired by vfox.
This repository provides the initial multi-crate implementation with:
- an CLI named
vs - config resolution for
.vs.toml,vs.toml,.vfox.toml,vfox.toml, and common legacy files - a local plugin registry model
- transactional local installs
- scope-aware
use,current,list,exec,activate, andmigrateflows - a Lua-backed fixture plugin runtime and a typed native plugin contract crate
The design favors small modules, explicit crate boundaries, and testable services.
vs-cli supports backend feature gating:
luawasi
Examples:
cargo build -p vs-cli --no-default-features --features lua
cargo build -p vs-cli --no-default-features --features wasi
cargo build -p vs-cli --no-default-features --features fullFor the smallest binaries, use the dedicated size-first profile:
cargo build -p vs-cli --profile min-size --no-default-features
cargo build -p vs-cli --profile min-size --no-default-features --features wasi
cargo build -p vs-cli --profile min-size --no-default-features --features luaThe standard release profile now strips symbols and enables LTO. The min-size
profile additionally switches to opt-level = "z" and panic = "abort" for
size-focused distribution builds.
When the lua feature is enabled and registry.address is unset, vs defaults to the official vfox plugin registry at https://version-fox.github.io/vfox-plugins.
vs-cli: CLI entrypoint and command parsingvs-core: application orchestration and use-case servicesvs-config: home, config, and version resolutionvs-registry: registry persistence and plugin lookupvs-installer: transactional local installs and uninstallvs-plugin-api: shared plugin models and errorsvs-plugin-lua: Lua-compatible plugin loadervs-plugin-wasi: native plugin contract and descriptor runtimevs-plugin-sdk: helper types for native plugin authorsvs-shell: activation scripts and shell path planningvs-test-support: shared fixtures and temporary workspace helpers
cargo fmt --check
cargo clippy --all-targets --all-features --locked -- -D warnings
cargo test
cargo test --doc