One workspace. All your runtimes.

The right runtime.
In every project.

Manage Node.js, Java, and Android SDK versions alongside your project commands and environment. Set it once. Get back to building.

macOSLinuxWindows Open source · MIT
.avm.jsonyour-project /
{
  "tools": {
    "node": "22",
    "java": "21"
  },
  "aliases": {
    "dev": "npm run dev"
  }
}
A consistent starting point
$ avm install
$ avm lock
$ avm run dev

Configuration your whole team can share.

Start here

Your next project, ready.

Install AVM, then follow the shell setup guide.

$
curl -fsSL https://raw.githubusercontent.com/prajanova/avm/main/install.sh | bash

Detects OS and CPU (Apple Silicon / Intel Mac / Linux amd64 & arm64), verifies the sha256 against the release, and installs avm-bin.

Less setup. More building.

A small tool for the work around your code.

01

A version for every project

Keep different runtimes across repositories and packages. AVM reads existing version files and merges shared monorepo configuration.

Explore configuration
02

A repeatable first day

Install selected tools in one command. Commit exact Node and Java versions with checksums, then enforce them in CI.

Reproducible installs
03

Your workflow, in one place

Keep aliases and environment variables beside your code. Try a different runtime for one command without changing your project pins.

Temporary runtimes

Confidence comes
from clear guarantees.

Understand what gets installed, which configuration applies, and what your project is allowed to run.

Read about security

Verified downloads

Native plugin archives and supported runtime downloads are checked before installation. Android components are verified by sdkmanager.

Explicit configuration trust

Cloned project aliases and environment settings stay inactive until you trust their contents. Tool selections still apply.

Clear limits, documented

Node and Java support frozen installs. Android and legacy asdf plugins currently use standard installs.

Guides

Make your workspace feel settled.

Start with one project. Keep the version files you already have.

Set up AVM