asdf-vm/asdf has 25,618 GitHub stars and 1,048 forks. GitHot measured +1 stars in 24 hours. Last checked 2026-11-07 18:42 UTC. Last push 2026-11-01.
Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
What you can do
- single CLI for multiple languages
- consistent commands to manage all your languages
- single global config keeping defaults in one place
- single .tool-versions config file per project
Measured star growth
- in 24h
- +1
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Originalasdf
Manage multiple runtime versions with a single CLI tool, extendable via plugins - docs at asdf-vm.com
asdf is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like gvm, nvm, rbenv & pyenv (and more) all in one! Simply install your language's plugin!
Why use asdf?
- single CLI for multiple languages
- consistent commands to manage all your languages
- single global config keeping defaults in one place
- single
.tool-versionsconfig file per project - support for existing config files
.node-version,.nvmrc,.ruby-versionfor easy migration - automatically switches runtime versions as you traverse your directories
- simple plugin system to add support for your language of choice
- shell completion available for common shells (Bash, Zsh, Fish, Elvish)
Documentation
Please head over to the documentation site for more information!
- Getting Started
- All Commands
- All Plugins
- Create a Plugin with our asdf-plugin-template
- asdf GitHub Actions
Contributing
See CONTRIBUTING.md in the repo or the Contributing section on the docs site.
Community & Questions
- FAQ
GitHub Issues: report a bug or raise a feature request to the
asdfcore teamStackOverflow Tag: see existing Q&A for
asdf. Some of the core team watch this tag in addition to our helpful community
Ballad of asdf
Once upon a time there was a programming language
There were many versions of it
So people wrote a version manager for it
To switch between versions for projects
Different, old, new.Then there came more programming languages
So there came more version managers
And many commands for themI installed a lot of them
I learnt a lot of commandsThen I said, just one more version manager
Which I will write insteadSo, there came another version manager
asdf version manager - https://github.com/asdf-vm/asdfA version manager so extendable
for which anyone can create a plugin
To support their favourite language
No more installing more version managers
Or learning more commands
This was the mail I wrote to a few friends to tell them about the project. Thanks to @roshanvid for suggesting that this go into the readme
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,833 starspublic-apis/public-apis
A collective list of free APIs
497,067 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
441,433 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,155 stars