# version-fox/vfox

A cross-platform and extendable version manager with support for Java, Node.js, Golang, Python, Flutter, .NET & more

Repository: https://github.com/version-fox/vfox
Canonical: https://ross.abutalabs.com/products/vfox
Homepage: https://vfox.dev
Language: Go
License: Apache-2.0
License Family: permissive
Topics: cross-platform, plugin-manager, version-manager, linux, macos, windows, bash, cmd, golang, lua, powershell, zsh, asdf, cli, development-tools, nodejs, sdk, tools
Last push: 2026-08-21T06:47:55+00:00

## Health v2 (maintenance only)
Score: 87/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 98, release rhythm 81, longevity 71
- inputs: {"age_days": 998, "days_push": 12, "days_rel": 126, "gap_med": 8.0, "n_releases_24m": 29}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3970, forks 157 (observed 2026-08-28T04:08:30.818776+00:00)

## What it is
vfox is a cross-platform, plugin-extensible version manager (similar to nvm, sdkman, and asdf-vm) for installing and switching SDKs such as Java, Node.js, Go, Python, Flutter, and .NET. Written in Go, it unifies per-project, per-shell, and global version management behind one CLI and one .vfox.toml config, with a simple Lua plugin API and shell hooks for automatic version switching.

## Use cases
- manage multiple java or node.js versions on windows without wsl
- switch sdk versions automatically when entering a project directory
- replace nvm, sdkman, fvm, and asdf with a single version manager
- install and switch between python, golang, and flutter from one cli
- share consistent tool versions across a team via one config file
- add version management for a custom runtime via plugins
- migrate from asdf keeping existing .tool-versions or .nvmrc files

## When to choose
- You work across Windows, Linux, and macOS and want one consistent version manager everywhere
- You juggle many language runtimes and want a single CLI and config instead of per-language managers
- You need project-level, session-level, or global versions with automatic switching as you change directories
- You want to extend version management to any tool via a simple Lua plugin API
- You are coming from asdf/nvm/sdkman and want compatibility with .tool-versions, .nvmrc, .node-version, or .sdkmanrc

## When to avoid
- You only need one language runtime, where a dedicated manager like nvm or pyenv may be simpler
- You rely on CMD, which only supports global scope and is not recommended
- Your CI/Docker pipelines are non-interactive and you prefer not to use vfox exec or container-native tooling
- You depend on a very specific asdf plugin ecosystem or shim-based behavior that vfox does not replicate

## Facets
- artifact type: cli-tool
- maturity: active
- function: cli, package-manager, developer-tools, plugin-system, configuration-management, sdk
- domain: developer-tools, cross-platform
- platform: windows, cli, cross-platform
- tags: version-manager, sdk-manager, asdf-alternative, nvm-alternative, sdkman-alternative, lua-plugins, shell-integration, runtime-switching, toml-config, environment-management, command-line, linux, macos

## Member repositories
- version-fox/vfox (main) score 87

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:30.818776+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:24:22.334897+00:00, confidence not recorded.
  - readme: https://github.com/version-fox/vfox (fetched 2026-08-28T04:08:30.818776+00:00, sha 1b13911aa530)
  - homepage: https://vfox.dev (fetched 2026-08-29T09:17:49.069395+00:00, sha d5344c1015bc)
  - site_page: https://vfox.dev/guides/intro.html (fetched 2026-08-29T09:17:49.071772+00:00, sha 922fb92c2f2c)
  - site_page: https://vfox.dev/guides/faq.html (fetched 2026-08-29T09:17:49.073603+00:00, sha f8c317339054)
- Data as of 2026-08-30T08:39:29.467469+00:00.
