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-versions as-is
  • • Precompiled standalone binaries with zero compilation
  • • Unified .avm.json for 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.