[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4710":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":43,"readmeContent":44,"aiSummary":45,"trendingCount":16,"starSnapshotCount":16,"syncStatus":46,"lastSyncTime":47,"discoverSource":48},4710,"asdf","asdf-vm\u002Fasdf","asdf-vm","Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more","https:\u002F\u002Fasdf-vm.com\u002F",null,"Go",25403,925,115,138,0,4,11,70,14,89.4,"MIT License",false,"master",true,[7,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"bash","cli","elixir","elvish","erlang","fish","golang","multiple-languages","node","nushell","powershell","python","ruby","shell","version-manager","zsh","2026-06-12 04:00:22","# asdf\n\n[![Lint](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf\u002Factions\u002Fworkflows\u002Flint.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf\u002Factions\u002Fworkflows\u002Flint.yml) [![Tests](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf\u002Factions\u002Fworkflows\u002Ftests.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf\u002Factions\u002Fworkflows\u002Ftests.yml)\n\n**Manage multiple runtime versions with a single CLI tool, extendable via plugins** - [docs at asdf-vm.com](https:\u002F\u002Fasdf-vm.com\u002F)\n\nasdf 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!\n\n## Why use asdf?\n\n- single CLI for multiple languages\n- consistent commands to manage all your languages\n- single global config keeping defaults in one place\n- single `.tool-versions` config file per project\n- support for existing config files `.node-version`, `.nvmrc`, `.ruby-version` for easy migration\n- automatically switches runtime versions as you traverse your directories\n- simple plugin system to add support for your language of choice\n- shell completion available for common shells (Bash, Zsh, Fish, Elvish)\n\n## Documentation\n\n[Please head over to the documentation site for more information](https:\u002F\u002Fasdf-vm.com\u002F)!\n\n- [Getting Started](https:\u002F\u002Fasdf-vm.com\u002Fguide\u002Fgetting-started.html)\n- [All Commands](https:\u002F\u002Fasdf-vm.com\u002Fmanage\u002Fcommands.html)\n- [All Plugins](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf-plugins)\n- [Create a Plugin](https:\u002F\u002Fasdf-vm.com\u002Fplugins\u002Fcreate.html) with our [asdf-plugin-template](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf-plugin-template)\n- [asdf GitHub Actions](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Factions)\n\n## Contributing\n\nSee [CONTRIBUTING.md in the repo](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf\u002Fblob\u002Fmaster\u002FCONTRIBUTING.md) or the [Contributing section on the docs site](http:\u002F\u002Fasdf-vm.com\u002Fcontribute\u002Fcore.html#initial-setup).\n\n## Community & Questions\n\n- [FAQ](https:\u002F\u002Fasdf-vm.com\u002Fmore\u002Ffaq.html)\n- [![GitHub Issues](https:\u002F\u002Ficongr.am\u002Fsimple\u002Fgithub.svg?color=808080&size=16) GitHub Issues](https:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf\u002Fissues): report a bug or raise a feature request to the `asdf` core team\n- [![StackOverflow Tag](https:\u002F\u002Ficongr.am\u002Ffontawesome\u002Fstack-overflow.svg?size=16&color=808080) StackOverflow Tag](https:\u002F\u002Fstackoverflow.com\u002Fquestions\u002Ftagged\u002Fasdf-vm): see existing Q&A for `asdf`. Some of the core team watch this tag in addition to our helpful community\n\n## Ballad of asdf\n\n> Once upon a time there was a programming language\u003Cbr\u002F>\n> There were many versions of it\u003Cbr\u002F>\n> So people wrote a version manager for it\u003Cbr\u002F>\n> To switch between versions for projects\u003Cbr\u002F>\n> Different, old, new.\n> \n> Then there came more programming languages\u003Cbr\u002F>\n> So there came more version managers\u003Cbr\u002F>\n> And many commands for them\n> \n> I installed a lot of them\u003Cbr\u002F>\n> I learnt a lot of commands\n> \n> Then I said, just one more version manager\u003Cbr\u002F>\n> Which I will write instead\n> \n> So, there came another version manager\u003Cbr\u002F>\n> **asdf version manager** - \u003Chttps:\u002F\u002Fgithub.com\u002Fasdf-vm\u002Fasdf>\n> \n> A version manager so extendable\u003Cbr\u002F>\n> for which anyone can create a plugin\u003Cbr\u002F>\n> To support their favourite language\u003Cbr\u002F>\n> No more installing more version managers\u003Cbr\u002F>\n> Or learning more commands\n\n---\n\n\u003Cfigure>\n  \u003Cblockquote>\n  This was the mail I wrote to a few friends to tell them about the project. Thanks to \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Froshanvid\" target=\"_blank\" rel=\"noreferrer\">@roshanvid\u003C\u002Fa> for suggesting that this go into the readme\n  \u003C\u002Fblockquote>\n  \u003Cfigcaption>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FHashNuke\" target=\"_blank\" rel=\"noreferrer\">@HashNuke\u003C\u002Fa>\n  \u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n","asdf 是一个可扩展的版本管理工具，支持 Ruby、Node.js、Elixir、Erlang 等多种编程语言。它通过插件系统实现了对不同语言运行时版本的统一管理，用户可以为每个项目单独指定所需的版本。该工具使用 Go 语言编写，具备跨平台特性，并且提供了一致的命令接口来简化多语言环境下的版本切换操作。asdf 适用于需要在同一台机器上维护多个软件开发环境的场景，比如开发者工作站或持续集成服务器，能够显著提高工作效率和环境一致性。",2,"2026-06-11 03:00:12","top_language"]