Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
Go to file
github-actions[bot] 6a4f51a351
chore(master): release 0.11.0 (#1273)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-12-15 07:53:20 +11:00
.github ci: monthly dependabot npm schedule (#1375) 2022-12-12 11:39:25 +11:00
bin Update code to use . instead of source 2021-05-21 12:03:06 -04:00
completions feat(completions): bash improvements (#1329) 2022-10-18 09:54:03 -04:00
docs feat: support nushell (#1355) 2022-12-12 18:52:51 +11:00
lib fix: excludes "milestone" releases in "latest" command (#1307) 2022-07-25 16:05:09 -04:00
scripts ci: update version in docs & sec pol on release (#1293) 2022-07-13 01:07:59 +10:00
test test: use resulting PATH on duplicated source tests (#1328) 2022-10-18 09:58:12 -04:00
.editorconfig Add .editorconfig file. 2019-11-25 12:08:31 -06:00
.gitattributes feat: Elvish Shell support (#1066) 2021-11-18 21:05:27 +11:00
.gitignore feat: Elvish Shell support (#1066) 2021-11-18 21:05:27 +11:00
.tool-versions ci: add latest OSs to testing matrix, bump BATS, shfmt, shellcheck (#1260) 2022-06-24 19:20:27 +10:00
asdf.elv fix: update elvish to 0.18.0 2022-04-22 07:50:53 -04:00
asdf.fish refactor: use fish_add_path during fish setup if available (#1317) 2022-08-31 01:18:25 +10:00
asdf.nu feat: support nushell (#1355) 2022-12-12 18:52:51 +11:00
asdf.sh fix: Prevent unbound variable error with nounset in asdf.sh (#1158) 2022-01-19 17:00:53 -05:00
ballad-of-asdf.md fix ballad formatting 2017-06-10 10:06:48 -04:00
CHANGELOG.md chore(master): release 0.11.0 (#1273) 2022-12-15 07:53:20 +11:00
CONTRIBUTING.md docs: rewrite using Vuepress (#1000) 2021-07-23 15:26:21 +10:00
defaults docs: further notes on disabling plugin repo (#1282) 2022-06-30 11:06:41 +10:00
help.txt chore: alphabetise help txt manage packages section (#1300) 2022-07-21 10:07:26 +10:00
LICENSE Add license file. Thanks to @mosic for reporting 2016-03-16 10:27:58 +05:30
README.md fix: improve formatting of ballad (#1367) 2022-11-09 10:12:40 -05:00
SECURITY.md chore: update supported version list in sec policy (#1292) 2022-07-12 22:42:43 +10:00
version.txt chore(master): release 0.11.0 (#1273) 2022-12-15 07:53:20 +11:00

asdf Lint Tests

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-versions config file per project
  • support for existing config files .node-version, .nvmrc, .ruby-version for 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!

Contributing

See CONTRIBUTING.md in the repo or the Contributing section on the docs site.

Community & Questions

  • FAQ
  • GitHub Issues GitHub Issues: report a bug or raise a feature request to the asdf core team
  • StackOverflow Tag StackOverflow 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 them

I installed a lot of them
I learnt a lot of commands

Then I said, just one more version manager
Which I will write instead

So, there came another version manager
asdf version manager - https://github.com/asdf-vm/asdf

A 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
@HashNuke