Skip documentation navigation
What is avm?
Docs/Guide/What is avm?
What is avm?
avm is an ultra-fast, native CLI version manager and project orchestrator. It manages multiple runtime versions (like Node.js, OpenJDK Temurin, Android SDK) and anchors directory-scoped command aliases and environment variables in a single version-controlled configuration.
Why avm?
Version managers like nvm and rbenv rely on shell scripts, and most tools split their state across fragmented configuration files (.tool-versions, .nvmrc, .ruby-version).
Traditional Friction
- • Slower prompt load times due to shell wrappers
- • Compiling plugins and runtimes from source
- • Command drift across engineering teammates
The avm Approach
- • A single compiled Rust binary, with plugins as separate verified executables
- • Reads your existing
.nvmrc/.tool-versionsas-is - • Precompiled standalone binaries with zero compilation
- • Unified
.avm.jsonfor aliases, tools, and env vars
Core Capabilities
Plugin Marketplace
Native executables fetched on demand directly from GitHub Releases.
Static PATH Shims
Commands resolve the selected runtime when invoked, including from IDEs.
Unified Config
A single .avm.json file commits your team's workflow to git.