asdf
Version manager that handles multiple language runtimes per project through plugins, using a single CLI and a .tool-versions file.
asdf is a CLI version manager for language runtimes. It replaces separate tools such as gvm, nvm, rbenv and pyenv with one command set. Support for each language is added by installing that language's plugin, and the plugin system is open, so anyone can write a plugin for another language. A plugin template and a list of existing plugins are linked from the README.
Versions are set per project in a single .tool-versions file, and a single global config holds the defaults. asdf switches runtime versions automatically as you move between directories. It can also read existing .node-version, .nvmrc and .ruby-version files, which eases migration from other version managers.
Shell completion is available for Bash, Zsh, Fish and Elvish. The tool is aimed at developers who work in several languages, or on several projects that need different runtime versions, and want one consistent set of commands. Full documentation, including the command reference and plugin authoring guide, is on asdf-vm.com. The project also provides GitHub Actions.
Alternatives & related tools
sops
Editor for encrypted files supporting YAML, JSON, ENV, INI formats with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP encryption
TruffleHog
Secrets scanner that finds credentials in Git, filesystems, S3/GCS buckets and Docker images, classifies 800+ types, and verifies whether they are live.
VHS
Generate terminal GIFs from code scripts for testing and demonstrating CLI tools
kubectx
CLI tools to quickly switch between Kubernetes contexts and namespaces with fuzzy search support
k6
JavaScript-based load testing tool for developers with HTTP, WebSockets, gRPC support and CI integration
add a badge to your README
Maintain asdf? Show that it's featured on trmn. The badge links back to this page.
[](https://www.trmn.sh/tools/asdf?utm_source=badge)<a href="https://www.trmn.sh/tools/asdf?utm_source=badge"><img src="https://www.trmn.sh/badge/asdf.svg" alt="Featured on trmn" height="20"></a>