asdf/contribute/core.html
2024-10-07 13:52:36 +00:00

61 lines
55 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en-US" dir="ltr">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>asdf</title>
<meta name="description" content="Manage multiple runtime versions with a single CLI tool">
<meta name="generator" content="VitePress v1.3.4">
<link rel="preload stylesheet" href="/assets/style.p0L2iRKi.css" as="style">
<script type="module" src="/assets/app.2_UJsjMp.js"></script>
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
<link rel="modulepreload" href="/assets/chunks/theme.BQKOjM6g.js">
<link rel="modulepreload" href="/assets/chunks/framework.C9NVOr0y.js">
<link rel="modulepreload" href="/assets/contribute_core.md.BABeyVan.lean.js">
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
</head>
<body>
<div id="app"><div class="Layout" data-v-d8b57b2d><!--[--><!--]--><!--[--><span tabindex="-1" data-v-c8291ffa></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-c8291ffa> Skip to content </a><!--]--><!----><header class="VPNav" data-v-d8b57b2d data-v-7ad780c2><div class="VPNavBar" data-v-7ad780c2 data-v-9fd4d1dd><div class="wrapper" data-v-9fd4d1dd><div class="container" data-v-9fd4d1dd><div class="title" data-v-9fd4d1dd><div class="VPNavBarTitle has-sidebar" data-v-9fd4d1dd data-v-0ad69264><a class="title" href="/" data-v-0ad69264><!--[--><!--]--><!----><span data-v-0ad69264>asdf</span><!--[--><!--]--></a></div></div><div class="content" data-v-9fd4d1dd><div class="content-body" data-v-9fd4d1dd><!--[--><!--]--><div class="VPNavBarSearch search" data-v-9fd4d1dd><!--[--><!----><div id="local-search"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><span class="vp-icon DocSearch-Search-Icon"></span><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div><!--]--></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-9fd4d1dd data-v-afb2845e><span id="main-nav-aria-label" class="visually-hidden" data-v-afb2845e> Main Navigation </span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/guide/getting-started.html" tabindex="0" data-v-afb2845e data-v-08fbf4b6><!--[--><span data-v-08fbf4b6>Guide</span><!--]--></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/manage/configuration.html" tabindex="0" data-v-afb2845e data-v-08fbf4b6><!--[--><span data-v-08fbf4b6>Reference</span><!--]--></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup active" data-v-afb2845e data-v-af5898d3><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-af5898d3><span class="text" data-v-af5898d3><!----><span data-v-af5898d3>0.14.1</span><span class="vpi-chevron-down text-icon" data-v-af5898d3></span></span></button><div class="menu" data-v-af5898d3><div class="VPMenu" data-v-af5898d3 data-v-20ed86d6><div class="items" data-v-20ed86d6><!--[--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link vp-external-link-icon" href="https://github.com/asdf-vm/asdf/blob/master/CHANGELOG.md" target="_blank" rel="noreferrer" data-v-f51f088d><!--[-->Changelog<!--]--></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-20ed86d6 data-v-f51f088d><a class="VPLink link active" href="/contribute/core.html" data-v-f51f088d><!--[-->Contribute<!--]--></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><div class="VPFlyout VPNavBarTranslations translations" data-v-9fd4d1dd data-v-acee064b data-v-af5898d3><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="Change language" data-v-af5898d3><span class="text" data-v-af5898d3><span class="vpi-languages option-icon" data-v-af5898d3></span><!----><span class="vpi-chevron-down text-icon" data-v-af5898d3></span></span></button><div class="menu" data-v-af5898d3><div class="VPMenu" data-v-af5898d3 data-v-20ed86d6><!----><!--[--><!--[--><div class="items" data-v-acee064b><p class="title" data-v-acee064b>English</p><!--[--><div class="VPMenuLink" data-v-acee064b data-v-f51f088d><a class="VPLink link" href="/ja-jp/contribute/core.html" data-v-f51f088d><!--[-->日本語<!--]--></a></div><div class="VPMenuLink" data-v-acee064b data-v-f51f088d><a class="VPLink link" href="/pt-br/contribute/core.html" data-v-f51f088d><!--[-->Brazilian Portuguese<!--]--></a></div><div class="VPMenuLink" data-v-acee064b data-v-f51f088d><a class="VPLink link" href="/zh-hans/contribute/core.html" data-v-f51f088d><!--[-->简体中文<!--]--></a></div><!--]--></div><!--]--><!--]--></div></div></div><div class="VPNavBarAppearance appearance" data-v-9fd4d1dd data-v-3f90c1a5><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-3f90c1a5 data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-9fd4d1dd data-v-ef6192dc data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://github.com/asdf-vm/asdf" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-358b6670><span class="vpi-social-github" /></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-9fd4d1dd data-v-f953d92f data-v-af5898d3><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-af5898d3><span class="vpi-more-horizontal icon" data-v-af5898d3></span></button><div class="menu" data-v-af5898d3><div class="VPMenu" data-v-af5898d3 data-v-20ed86d6><!----><!--[--><!--[--><div class="group translations" data-v-f953d92f><p class="trans-title" data-v-f953d92f>English</p><!--[--><div class="VPMenuLink" data-v-f953d92f data-v-f51f088d><a class="VPLink link" href="/ja-jp/contribute/core.html" data-v-f51f088d><!--[-->日本語<!--]--></a></div><div class="VPMenuLink" data-v-f953d92f data-v-f51f088d><a class="VPLink link" href="/pt-br/contribute/core.html" data-v-f51f088d><!--[-->Brazilian Portuguese<!--]--></a></div><div class="VPMenuLink" data-v-f953d92f data-v-f51f088d><a class="VPLink link" href="/zh-hans/contribute/core.html" data-v-f51f088d><!--[-->简体中文<!--]--></a></div><!--]--></div><div class="group" data-v-f953d92f><div class="item appearance" data-v-f953d92f><p class="label" data-v-f953d92f>Appearance</p><div class="appearance-action" data-v-f953d92f><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" title aria-checked="false" data-v-f953d92f data-v-be9742d9 data-v-b4ccac88><span class="check" data-v-b4ccac88><span class="icon" data-v-b4ccac88><!--[--><span class="vpi-sun sun" data-v-be9742d9></span><span class="vpi-moon moon" data-v-be9742d9></span><!--]--></span></span></button></div></div></div><div class="group" data-v-f953d92f><div class="item social-links" data-v-f953d92f><div class="VPSocialLinks social-links-list" data-v-f953d92f data-v-e71e869c><!--[--><a class="VPSocialLink no-icon" href="https://github.com/asdf-vm/asdf" aria-label="github" target="_blank" rel="noopener" data-v-e71e869c data-v-358b6670><span class="vpi-social-github" /></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-9fd4d1dd data-v-6bee1efd><span class="container" data-v-6bee1efd><span class="top" data-v-6bee1efd></span><span class="middle" data-v-6bee1efd></span><span class="bottom" data-v-6bee1efd></span></span></button></div></div></div></div><div class="divider" data-v-9fd4d1dd><div class="divider-line" data-v-9fd4d1dd></div></div></div><!----></header><div class="VPLocalNav has-sidebar empty" data-v-d8b57b2d data-v-2488c25a><div class="container" data-v-2488c25a><button class="menu" aria-expanded="false" aria-controls="VPSidebarNav" data-v-2488c25a><span class="vpi-align-left menu-icon" data-v-2488c25a></span><span class="menu-text" data-v-2488c25a>Menu</span></button><div class="VPLocalNavOutlineDropdown" style="--vp-vh:0px;" data-v-2488c25a data-v-883964e0><button data-v-883964e0>Return to top</button><!----></div></div></div><aside class="VPSidebar" data-v-d8b57b2d data-v-42c4c606><div class="curtain" data-v-42c4c606></div><nav class="nav" id="VPSidebarNav" aria-labelledby="sidebar-aria-label" tabindex="-1" data-v-42c4c606><span class="visually-hidden" id="sidebar-aria-label" data-v-42c4c606> Sidebar Navigation </span><!--[--><!--]--><!--[--><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible" data-v-51288d80 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h2 class="text" data-v-edd2eed8>Guide</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/guide/introduction.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>What is asdf?</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/guide/getting-started.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Getting Started</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible" data-v-51288d80 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h2 class="text" data-v-edd2eed8>Usage</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/manage/core.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Core</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/manage/plugins.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Plugins</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/manage/versions.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Versions</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible" data-v-51288d80 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h2 class="text" data-v-edd2eed8>Reference</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/manage/configuration.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Configuration</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/manage/commands.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>All Commands</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-vm/asdf-plugins" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Plugin Shortname Index</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed" data-v-51288d80 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h2 class="text" data-v-edd2eed8>Plugins</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><section class="VPSidebarItem level-1" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h3 class="text" data-v-edd2eed8>Authors</h3><!----></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/plugins/create.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Create a Plugin</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-vm/asdf-plugin-template" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>GitHub Plugin Template</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h3 class="text" data-v-edd2eed8>First Party Plugins</h3><!----></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-vm/asdf-elixir" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Elixir</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-vm/asdf-erlang" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Erlang</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-vm/asdf-nodejs" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Node.js</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-vm/asdf-ruby" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Ruby</p><!--]--></a><!----></div><!----></div><!--]--></div></section><section class="VPSidebarItem level-1" data-v-edd2eed8 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h3 class="text" data-v-edd2eed8>Community Plugins</h3><!----></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-community" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>asdf-community</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-2 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/topics/asdf-plugin" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>GitHub Topics Search</p><!--]--></a><!----></div><!----></div><!--]--></div></section><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed" data-v-51288d80 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h2 class="text" data-v-edd2eed8>Questions</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/more/faq.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>FAQ</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://github.com/asdf-vm/asdf/issues" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>GitHub Issues</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link vp-external-link-icon link" href="https://stackoverflow.com/questions/tagged/asdf-vm" target="_blank" rel="noreferrer" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Stack Overflow Tag</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0 collapsible collapsed has-active" data-v-51288d80 data-v-edd2eed8><div class="item" role="button" tabindex="0" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><h2 class="text" data-v-edd2eed8>Contribute</h2><div class="caret" role="button" aria-label="toggle section" tabindex="0" data-v-edd2eed8><span class="vpi-chevron-right caret-icon" data-v-edd2eed8></span></div></div><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/contribute/core.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Core asdf</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/contribute/documentation.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Documentation</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/contribute/first-party-plugins.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>First-Party Plugins</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/contribute/github-actions.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>GitHub Actions</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><div class="no-transition group" data-v-51288d80><section class="VPSidebarItem level-0" data-v-51288d80 data-v-edd2eed8><!----><div class="items" data-v-edd2eed8><!--[--><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/more/community-projects.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Community Projects</p><!--]--></a><!----></div><!----></div><div class="VPSidebarItem level-1 is-link" data-v-edd2eed8 data-v-edd2eed8><div class="item" data-v-edd2eed8><div class="indicator" data-v-edd2eed8></div><a class="VPLink link link" href="/more/thanks.html" data-v-edd2eed8><!--[--><p class="text" data-v-edd2eed8>Thanks</p><!--]--></a><!----></div><!----></div><!--]--></div></section></div><!--]--><!--[--><!--]--></nav></aside><div class="VPContent has-sidebar" id="VPContent" data-v-d8b57b2d data-v-9a6c75ad><div class="VPDoc has-sidebar has-aside" data-v-9a6c75ad data-v-e6f2a212><!--[--><!--]--><div class="container" data-v-e6f2a212><div class="aside" data-v-e6f2a212><div class="aside-curtain" data-v-e6f2a212></div><div class="aside-container" data-v-e6f2a212><div class="aside-content" data-v-e6f2a212><div class="VPDocAside" data-v-e6f2a212 data-v-cb998dce><!--[--><!--]--><!--[--><!--]--><nav aria-labelledby="doc-outline-aria-label" class="VPDocAsideOutline" data-v-cb998dce data-v-f610f197><div class="content" data-v-f610f197><div class="outline-marker" data-v-f610f197></div><div aria-level="2" class="outline-title" id="doc-outline-aria-label" role="heading" data-v-f610f197>On this page</div><ul class="VPDocOutlineItem root" data-v-f610f197 data-v-53c99d69><!--[--><!--]--></ul></div></nav><!--[--><!--]--><div class="spacer" data-v-cb998dce></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-e6f2a212><div class="content-container" data-v-e6f2a212><!--[--><!--]--><main class="main" data-v-e6f2a212><div style="position:relative;" class="vp-doc _contribute_core" data-v-e6f2a212><div><h1 id="asdf" tabindex="-1">asdf <a class="header-anchor" href="#asdf" aria-label="Permalink to &quot;asdf&quot;"></a></h1><p><code>asdf</code> core contribution guide.</p><h2 id="initial-setup" tabindex="-1">Initial Setup <a class="header-anchor" href="#initial-setup" aria-label="Permalink to &quot;Initial Setup&quot;"></a></h2><p>Fork <code>asdf</code> on GitHub and/or Git clone the default branch:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># clone your fork</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&lt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">GITHUB_USE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">R</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">&gt;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">/asdf.git</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># or clone asdf</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> clone</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/asdf-vm/asdf.git</span></span></code></pre></div><p>The tools for core development are in this repo&#39;s <code>.tool-versions</code>. If you wish to manage with <code>asdf</code> itself, add the plugins:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">asdf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> plugin</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bats</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/timgluz/asdf-bats.git</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">asdf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> plugin</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> shellcheck</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/luizm/asdf-shellcheck.git</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">asdf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> plugin</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> shfmt</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> https://github.com/luizm/asdf-shfmt.git</span></span></code></pre></div><p>Install the versions to develop <code>asdf</code> with:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">asdf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> install</span></span></code></pre></div><p>It <em>may</em> be useful to not use <code>asdf</code> to manage the tools during development on your local machine as you may need to break functionality which would then break your dev tooling. Here&#39;s the raw list of tools:</p><ul><li><a href="https://github.com/bats-core/bats-core" target="_blank" rel="noreferrer">bats-core</a>: Bash Automated Testing System, for unit testing Bash or POSIX compliant scripts.</li><li><a href="https://github.com/koalaman/shellcheck" target="_blank" rel="noreferrer">shellcheck</a>: Static analysis tool for shell scripts.</li><li><a href="https://github.com/mvdan/sh" target="_blank" rel="noreferrer">shfmt</a>: A shell parser, formatter, and interpreter with bash support; includes shfmt</li></ul><h2 id="development" tabindex="-1">Development <a class="header-anchor" href="#development" aria-label="Permalink to &quot;Development&quot;"></a></h2><p>If you want to try out your changes without making change to your installed <code>asdf</code>, you can set the <code>$ASDF_DIR</code> variable to the path where you cloned the repository, and temporarily prepend the <code>bin</code> and <code>shims</code> directory of the directory to your path.</p><p>It is best to format, lint and test your code locally before you commit or push to the remote. Use the following scripts/commands:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Lint</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./scripts/lint.bash</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --check</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Fix &amp; Format</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./scripts/lint.bash</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --fix</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Test: all tests</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./scripts/test.bash</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># Test: for specific command</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bats</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> test/list_commands.bash</span></span></code></pre></div><div class="tip custom-block"><p class="custom-block-title">TIP</p><p><strong>Add tests!</strong> - Tests are <strong>required</strong> for new features and speed up review of bug fixes. Please cover new code paths before you create a Pull Request. See <a href="https://bats-core.readthedocs.io/en/stable/index.html" target="_blank" rel="noreferrer">bats-core documentation</a></p></div><h3 id="gitignore" tabindex="-1">Gitignore <a class="header-anchor" href="#gitignore" aria-label="Permalink to &quot;Gitignore&quot;"></a></h3><p>The following is the <code>.gitignore</code> file in the <code>asdf-vm/asdf</code> repository. We ignore project-specific files. Files specific to your OS, tools or workflows should be ignored in your global <code>.gitignore</code> configuration, <a href="http://stratus3d.com/blog/2018/06/03/stop-excluding-editor-temp-files-in-gitignore/" target="_blank" rel="noreferrer">see here</a> for more details.</p><div class="language-gitignore vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">gitignore</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>/installs</span></span>
<span class="line"><span>/downloads</span></span>
<span class="line"><span>/plugins</span></span>
<span class="line"><span>/shims</span></span>
<span class="line"><span>repository</span></span>
<span class="line"><span>.vagrant</span></span>
<span class="line"><span>keyrings</span></span>
<span class="line"><span>/tmp</span></span></code></pre></div><h3 id="git-blame-ignore-revs" tabindex="-1"><code>.git-blame-ignore-revs</code> <a class="header-anchor" href="#git-blame-ignore-revs" aria-label="Permalink to &quot;`.git-blame-ignore-revs`&quot;"></a></h3><p><code>asdf</code> uses a <code>.git-blame-ignore-revs</code> to reduce noise when running a blame. See the <a href="https://git-scm.com/docs/git-blame" target="_blank" rel="noreferrer">git blame documentation</a> for more information.</p><p>Use the file with <code>git blame</code> like so:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> blame</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --ignore-revs-file</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .git-blame-ignore-revs</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./test/install_command.bats</span></span></code></pre></div><p>Optionally, configure to use the file on every invocation of <code>blame</code> without manually supplying it:</p><div class="language-sh vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> config</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> blame.ignoreRevsFile</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> .git-blame-ignore-revs</span></span></code></pre></div><p>It is possible to configure IDEs to use this file. For example, when using VSCode (with <a href="https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens" target="_blank" rel="noreferrer">GitLens</a>), write the following to <code>.vscode/settings.json</code>:</p><div class="language-json vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">json</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> &quot;gitlens.advanced.blame.customArguments&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: [</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;--ignore-revs-file&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;.git-blame-ignore-revs&quot;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><h2 id="bats-testing" tabindex="-1">Bats Testing <a class="header-anchor" href="#bats-testing" aria-label="Permalink to &quot;Bats Testing&quot;"></a></h2><p>Execute tests locally with:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">./scripts/test.bash</span></span></code></pre></div><p>Before writing tests <strong>please read</strong>:</p><ul><li>existing tests in <code>test/</code></li><li><a href="https://bats-core.readthedocs.io/en/stable/index.html" target="_blank" rel="noreferrer">bats-core documentation</a></li><li>existing Bats settings used in <code>scripts/test.bash</code></li></ul><h3 id="bats-tips" tabindex="-1">Bats Tips <a class="header-anchor" href="#bats-tips" aria-label="Permalink to &quot;Bats Tips&quot;"></a></h3><p>Bats debugging can be difficult at times. Using the TAP output with <code>-t</code> flag will enable you to print outputs with the special file descriptor <code>&gt;&amp;3</code> during test execution, simplifying debugging. As an example:</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"># test/some_tests.bats</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">printf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;%s\n&quot;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;Will not be printed during bats test/some_tests.bats&quot;</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">printf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;%s\n&quot;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;Will be printed during bats -t test/some_tests.bats&quot;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> &gt;&amp;3</span></span></code></pre></div><p>This is further documented in bats-core <a href="https://bats-core.readthedocs.io/en/stable/writing-tests.html#printing-to-the-terminal" target="_blank" rel="noreferrer">Printing to the Terminal</a>.</p><h2 id="pull-requests-releases-conventional-commits" tabindex="-1">Pull Requests, Releases &amp; Conventional Commits <a class="header-anchor" href="#pull-requests-releases-conventional-commits" aria-label="Permalink to &quot;Pull Requests, Releases &amp; Conventional Commits&quot;"></a></h2><p><code>asdf</code> is using an automated release tool called <a href="https://github.com/googleapis/release-please" target="_blank" rel="noreferrer">Release Please</a> to automatically bump the <a href="https://semver.org/" target="_blank" rel="noreferrer">SemVer</a> version and generate the <a href="https://github.com/asdf-vm/asdf/blob/master/CHANGELOG.md" target="_blank" rel="noreferrer">Changelog</a>. This information is determined by reading the commit history since the last release.</p><p><a href="https://www.conventionalcommits.org/" target="_blank" rel="noreferrer">Conventional Commit messages</a> define the format of the Pull Request Title which becomes the commit message format on the default branch. This is enforced with GitHub Action <a href="https://github.com/amannn/action-semantic-pull-request" target="_blank" rel="noreferrer"><code>amannn/action-semantic-pull-request</code></a>.</p><p>Conventional Commit follows this format:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>&lt;type&gt;[optional scope][optional !]: &lt;description&gt;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>&lt;!-- examples --&gt;</span></span>
<span class="line"><span>fix: some fix</span></span>
<span class="line"><span>feat: a new feature</span></span>
<span class="line"><span>docs: some documentation update</span></span>
<span class="line"><span>docs(website): some change for the website</span></span>
<span class="line"><span>feat!: feature with breaking change</span></span></code></pre></div><p>The full list of <code>&lt;types&gt;</code> are: <code>feat</code>, <code>fix</code>, <code>docs</code>, <code>style</code>, <code>refactor</code>, <code>perf</code>, <code>test</code>, <code>build</code>, <code>ci</code>, <code>chore</code>, <code>revert</code>.</p><ul><li><code>!</code>: indicates a breaking change</li><li><code>fix</code>: will create a new SemVer <code>patch</code></li><li><code>feat</code>: will create a new SemVer <code>minor</code></li><li><code>&lt;type&gt;!</code>: will create a new SemVer <code>major</code></li></ul><p>The Pull Request Title must follow this format.</p><div class="tip custom-block"><p class="custom-block-title">TIP</p><p>Use Conventional Commit message format for your Pull Request Title.</p></div><h2 id="docker-images" tabindex="-1">Docker Images <a class="header-anchor" href="#docker-images" aria-label="Permalink to &quot;Docker Images&quot;"></a></h2><p>The <a href="https://github.com/vic/asdf-alpine" target="_blank" rel="noreferrer">asdf-alpine</a> and <a href="https://github.com/vic/asdf-ubuntu" target="_blank" rel="noreferrer">asdf-ubuntu</a> projects are an ongoing effort to provide Dockerized images of some asdf tools. You can use these docker images as base for your development servers, or for running your production apps.</p></div></div></main><footer class="VPDocFooter" data-v-e6f2a212 data-v-1bcd8184><!--[--><!--]--><div class="edit-info" data-v-1bcd8184><!----><div class="last-updated" data-v-1bcd8184><p class="VPLastUpdated" data-v-1bcd8184 data-v-1bb0c8a8>Last updated: <time datetime="2024-10-07T13:51:50.000Z" data-v-1bb0c8a8></time></p></div></div><nav class="prev-next" aria-labelledby="doc-footer-aria-label" data-v-1bcd8184><span class="visually-hidden" id="doc-footer-aria-label" data-v-1bcd8184>Pager</span><div class="pager" data-v-1bcd8184><a class="VPLink link vp-external-link-icon pager-link prev" href="https://stackoverflow.com/questions/tagged/asdf-vm" target="_blank" rel="noreferrer" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>Previous page</span><span class="title" data-v-1bcd8184>Stack Overflow Tag</span><!--]--></a></div><div class="pager" data-v-1bcd8184><a class="VPLink link pager-link next" href="/contribute/documentation.html" data-v-1bcd8184><!--[--><span class="desc" data-v-1bcd8184>Next page</span><span class="title" data-v-1bcd8184>Documentation</span><!--]--></a></div></nav></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><!----><!--[--><!--]--></div></div>
<script>window.__VP_HASH_MAP__=JSON.parse("{\"contribute_core.md\":\"BABeyVan\",\"contribute_documentation.md\":\"BYyBOKz0\",\"contribute_first-party-plugins.md\":\"CpFWKmHh\",\"contribute_github-actions.md\":\"CA9Mkw8-\",\"guide_getting-started.md\":\"C3BDv6cZ\",\"guide_introduction.md\":\"D7TZl5Xp\",\"index.md\":\"CX4EfemI\",\"ja-jp_contribute_core.md\":\"Dl6llQ1K\",\"ja-jp_contribute_documentation.md\":\"DFrK7QhV\",\"ja-jp_contribute_first-party-plugins.md\":\"C-K_bFJd\",\"ja-jp_contribute_github-actions.md\":\"vwGbnpnK\",\"ja-jp_guide_getting-started.md\":\"BOrg7Hf7\",\"ja-jp_guide_introduction.md\":\"BiCZxaSp\",\"ja-jp_index.md\":\"Nw2yHZ3B\",\"ja-jp_manage_commands.md\":\"VPBtL-Un\",\"ja-jp_manage_configuration.md\":\"BoE7Ge6N\",\"ja-jp_manage_core.md\":\"B1eqmXXm\",\"ja-jp_manage_plugins.md\":\"Cbru-sBo\",\"ja-jp_manage_versions.md\":\"Dxk0G51J\",\"ja-jp_more_community-projects.md\":\"Drt5Trip\",\"ja-jp_more_faq.md\":\"DWV2Lkfg\",\"ja-jp_more_thanks.md\":\"DgZpeSyP\",\"ja-jp_plugins_create.md\":\"CF7Jmvco\",\"manage_commands.md\":\"BSbw1HQ9\",\"manage_configuration.md\":\"BTxM-Kga\",\"manage_core.md\":\"BUHLaRG4\",\"manage_plugins.md\":\"BOsG6k4O\",\"manage_versions.md\":\"CAp-N8AZ\",\"more_community-projects.md\":\"B9Jb3CEv\",\"more_faq.md\":\"BjmX8xoH\",\"more_thanks.md\":\"C4xnnmzS\",\"plugins_create.md\":\"Ba4Peca-\",\"pt-br_contribute_core.md\":\"BB7joZcW\",\"pt-br_contribute_documentation.md\":\"D_CeZJ9y\",\"pt-br_contribute_first-party-plugins.md\":\"TUKlMnR4\",\"pt-br_contribute_github-actions.md\":\"BpD2TMaX\",\"pt-br_guide_getting-started.md\":\"Bxtluukf\",\"pt-br_guide_introduction.md\":\"C231JBSG\",\"pt-br_index.md\":\"B18T-HnP\",\"pt-br_manage_commands.md\":\"C9u0wbDc\",\"pt-br_manage_configuration.md\":\"Bo5UByU1\",\"pt-br_manage_core.md\":\"CTnvZ9A5\",\"pt-br_manage_plugins.md\":\"CuNF9gHf\",\"pt-br_manage_versions.md\":\"Ctc109hL\",\"pt-br_more_community-projects.md\":\"C3m600b2\",\"pt-br_more_faq.md\":\"Bch3gpm2\",\"pt-br_more_thanks.md\":\"BziNXVH9\",\"pt-br_plugins_create.md\":\"CnPY6mOB\",\"zh-hans_contribute_core.md\":\"oF4_zk5Q\",\"zh-hans_contribute_documentation.md\":\"DL3_2XKG\",\"zh-hans_contribute_first-party-plugins.md\":\"CaobaPwV\",\"zh-hans_contribute_github-actions.md\":\"BMOvSElT\",\"zh-hans_guide_getting-started.md\":\"neLGUZQV\",\"zh-hans_guide_introduction.md\":\"4qLfdOnh\",\"zh-hans_index.md\":\"DQ8VBECv\",\"zh-hans_manage_commands.md\":\"BJVPpY77\",\"zh-hans_manage_configuration.md\":\"DckznVe9\",\"zh-hans_manage_core.md\":\"_3uzcWzu\",\"zh-hans_manage_plugins.md\":\"DY_Xuyjn\",\"zh-hans_manage_versions.md\":\"BOLJYZ7r\",\"zh-hans_more_community-projects.md\":\"yE4Odlba\",\"zh-hans_more_faq.md\":\"CgpfvsMk\",\"zh-hans_more_thanks.md\":\"Dyz87Q2k\",\"zh-hans_plugins_create.md\":\"P38AmJ4g\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"asdf\",\"description\":\"Manage multiple runtime versions with a single CLI tool\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"search\":{\"provider\":\"local\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/asdf-vm/asdf\"}]},\"locales\":{\"root\":{\"label\":\"English\",\"lang\":\"en-US\",\"themeConfig\":{\"nav\":[{\"text\":\"Guide\",\"link\":\"/guide/getting-started\"},{\"text\":\"Reference\",\"link\":\"/manage/configuration\"},{\"text\":\"0.14.1\",\"items\":[{\"text\":\"Changelog\",\"link\":\"https://github.com/asdf-vm/asdf/blob/master/CHANGELOG.md\"},{\"text\":\"Contribute\",\"link\":\"/contribute/core\"}]}],\"sidebar\":[{\"text\":\"Guide\",\"collapsed\":false,\"items\":[{\"text\":\"What is asdf?\",\"link\":\"/guide/introduction\"},{\"text\":\"Getting Started\",\"link\":\"/guide/getting-started\"}]},{\"text\":\"Usage\",\"collapsed\":false,\"items\":[{\"text\":\"Core\",\"link\":\"/manage/core\"},{\"text\":\"Plugins\",\"link\":\"/manage/plugins\"},{\"text\":\"Versions\",\"link\":\"/manage/versions\"}]},{\"text\":\"Reference\",\"collapsed\":false,\"items\":[{\"text\":\"Configuration\",\"link\":\"/manage/configuration\"},{\"text\":\"All Commands\",\"link\":\"/manage/commands\"},{\"text\":\"Plugin Shortname Index\",\"link\":\"https://github.com/asdf-vm/asdf-plugins\"}]},{\"text\":\"Plugins\",\"collapsed\":true,\"items\":[{\"text\":\"Authors\",\"items\":[{\"text\":\"Create a Plugin\",\"link\":\"/plugins/create\"},{\"text\":\"GitHub Plugin Template\",\"link\":\"https://github.com/asdf-vm/asdf-plugin-template\"}]},{\"text\":\"First Party Plugins\",\"items\":[{\"text\":\"Elixir\",\"link\":\"https://github.com/asdf-vm/asdf-elixir\"},{\"text\":\"Erlang\",\"link\":\"https://github.com/asdf-vm/asdf-erlang\"},{\"text\":\"Node.js\",\"link\":\"https://github.com/asdf-vm/asdf-nodejs\"},{\"text\":\"Ruby\",\"link\":\"https://github.com/asdf-vm/asdf-ruby\"}]},{\"text\":\"Community Plugins\",\"items\":[{\"text\":\"asdf-community\",\"link\":\"https://github.com/asdf-community\"},{\"text\":\"GitHub Topics Search\",\"link\":\"https://github.com/topics/asdf-plugin\"}]}]},{\"text\":\"Questions\",\"collapsed\":true,\"items\":[{\"text\":\"FAQ\",\"link\":\"/more/faq\"},{\"text\":\"GitHub Issues\",\"link\":\"https://github.com/asdf-vm/asdf/issues\"},{\"text\":\"Stack Overflow Tag\",\"link\":\"https://stackoverflow.com/questions/tagged/asdf-vm\"}]},{\"text\":\"Contribute\",\"collapsed\":true,\"items\":[{\"text\":\"Core asdf\",\"link\":\"/contribute/core\"},{\"text\":\"Documentation\",\"link\":\"/contribute/documentation\"},{\"text\":\"First-Party Plugins\",\"link\":\"/contribute/first-party-plugins\"},{\"text\":\"GitHub Actions\",\"link\":\"/contribute/github-actions\"}]},{\"text\":\"Community Projects\",\"link\":\"/more/community-projects\"},{\"text\":\"Thanks\",\"link\":\"/more/thanks\"}]}},\"ja-jp\":{\"label\":\"日本語\",\"lang\":\"ja-jp\",\"themeConfig\":{\"nav\":[{\"text\":\"ガイド\",\"link\":\"/ja-jp/guide/getting-started\"},{\"text\":\"リファレンス\",\"link\":\"/ja-jp/manage/configuration\"},{\"text\":\"0.14.1\",\"items\":[{\"text\":\"変更履歴\",\"link\":\"https://github.com/asdf-vm/asdf/blob/master/CHANGELOG.md\"},{\"text\":\"コントリビューション\",\"link\":\"/ja-jp/contribute/core\"}]}],\"sidebar\":[{\"text\":\"ガイド\",\"collapsed\":false,\"items\":[{\"text\":\"asdfってなに?\",\"link\":\"/ja-jp/guide/introduction\"},{\"text\":\"はじめよう\",\"link\":\"/ja-jp/guide/getting-started\"}]},{\"text\":\"使い方\",\"collapsed\":false,\"items\":[{\"text\":\"コア\",\"link\":\"/ja-jp/manage/core\"},{\"text\":\"プラグイン\",\"link\":\"/ja-jp/manage/plugins\"},{\"text\":\"バージョン\",\"link\":\"/ja-jp/manage/versions\"}]},{\"text\":\"リファレンス\",\"collapsed\":false,\"items\":[{\"text\":\"構成設定\",\"link\":\"/ja-jp/manage/configuration\"},{\"text\":\"すべてのコマンド\",\"link\":\"/ja-jp/manage/commands\"},{\"text\":\"プラグインショートネームの一覧\",\"link\":\"https://github.com/asdf-vm/asdf-plugins\"}]},{\"text\":\"プラグイン\",\"collapsed\":true,\"items\":[{\"text\":\"開発者向け\",\"items\":[{\"text\":\"プラグインの作成\",\"link\":\"/ja-jp/plugins/create\"},{\"text\":\"GitHubプラグインテンプレート\",\"link\":\"https://github.com/asdf-vm/asdf-plugin-template\"}]},{\"text\":\"公式プラグイン\",\"items\":[{\"text\":\"Elixir\",\"link\":\"https://github.com/asdf-vm/asdf-elixir\"},{\"text\":\"Erlang\",\"link\":\"https://github.com/asdf-vm/asdf-erlang\"},{\"text\":\"Node.js\",\"link\":\"https://github.com/asdf-vm/asdf-nodejs\"},{\"text\":\"Ruby\",\"link\":\"https://github.com/asdf-vm/asdf-ruby\"}]},{\"text\":\"コミュニティプラグイン\",\"items\":[{\"text\":\"asdf-community\",\"link\":\"https://github.com/asdf-community\"},{\"text\":\"GitHubトピック検索\",\"link\":\"https://github.com/topics/asdf-plugin\"}]}]},{\"text\":\"困ったときは\",\"collapsed\":true,\"items\":[{\"text\":\"FAQ\",\"link\":\"/ja-jp/more/faq\"},{\"text\":\"GitHub イシュー\",\"link\":\"https://github.com/asdf-vm/asdf/issues\"},{\"text\":\"Stack Overflow タグ\",\"link\":\"https://stackoverflow.com/questions/tagged/asdf-vm\"}]},{\"text\":\"コントリビューション\",\"collapsed\":true,\"items\":[{\"text\":\"asdf コア\",\"link\":\"/ja-jp/contribute/core\"},{\"text\":\"ドキュメント\",\"link\":\"/ja-jp/contribute/documentation\"},{\"text\":\"公式プラグイン\",\"link\":\"/ja-jp/contribute/first-party-plugins\"},{\"text\":\"GitHub Actions\",\"link\":\"/ja-jp/contribute/github-actions\"}]},{\"text\":\"コミュニティプロジェクト\",\"link\":\"/ja-jp/more/community-projects\"},{\"text\":\"謝辞\",\"link\":\"/ja-jp/more/thanks\"}]}},\"pt-br\":{\"label\":\"Brazilian Portuguese\",\"lang\":\"pr-br\",\"themeConfig\":{\"nav\":[{\"text\":\"Guia\",\"link\":\"/pt-br/guide/getting-started\"},{\"text\":\"Referência\",\"link\":\"/pt-br/manage/configuration\"},{\"text\":\"0.14.1\",\"items\":[{\"text\":\"Changelog\",\"link\":\"https://github.com/asdf-vm/asdf/blob/master/CHANGELOG.md\"},{\"text\":\"Contribute\",\"link\":\"/pt-br/contribute/core\"}]}],\"sidebar\":[{\"text\":\"Guia\",\"collapsed\":false,\"items\":[{\"text\":\"O que é asdf?\",\"link\":\"/pt-br/guide/introduction\"},{\"text\":\"Começar\",\"link\":\"/pt-br/guide/getting-started\"}]},{\"text\":\"Uso\",\"collapsed\":false,\"items\":[{\"text\":\"Essencial\",\"link\":\"/pt-br/manage/core\"},{\"text\":\"Plugins\",\"link\":\"/pt-br/manage/plugins\"},{\"text\":\"Versões\",\"link\":\"/pt-br/manage/versions\"}]},{\"text\":\"Referência\",\"collapsed\":false,\"items\":[{\"text\":\"Configuração\",\"link\":\"/pt-br/manage/configuration\"},{\"text\":\"Todos os comandos\",\"link\":\"/pt-br/manage/commands\"},{\"text\":\"Plugin Shortname Index\",\"link\":\"https://github.com/asdf-vm/asdf-plugins\"}]},{\"text\":\"Plugins\",\"collapsed\":true,\"items\":[{\"text\":\"Autoria\",\"items\":[{\"text\":\"Criar um plug-in\",\"link\":\"/pt-br/plugins/create\"},{\"text\":\"GitHub Plugin Template\",\"link\":\"https://github.com/asdf-vm/asdf-plugin-template\"}]},{\"text\":\"Plug-ins Próprios\",\"items\":[{\"text\":\"Elixir\",\"link\":\"https://github.com/asdf-vm/asdf-elixir\"},{\"text\":\"Erlang\",\"link\":\"https://github.com/asdf-vm/asdf-erlang\"},{\"text\":\"Node.js\",\"link\":\"https://github.com/asdf-vm/asdf-nodejs\"},{\"text\":\"Ruby\",\"link\":\"https://github.com/asdf-vm/asdf-ruby\"}]},{\"text\":\"Plug-ins da Comunidade\",\"items\":[{\"text\":\"asdf-community\",\"link\":\"https://github.com/asdf-community\"},{\"text\":\"GitHub Topics Search\",\"link\":\"https://github.com/topics/asdf-plugin\"}]}]},{\"text\":\"Questões\",\"collapsed\":true,\"items\":[{\"text\":\"Perguntas Frequentes\",\"link\":\"/pt-br/more/faq\"},{\"text\":\"GitHub Issues\",\"link\":\"https://github.com/asdf-vm/asdf/issues\"},{\"text\":\"Stack Overflow Tag\",\"link\":\"https://stackoverflow.com/questions/tagged/asdf-vm\"}]},{\"text\":\"Contribute\",\"collapsed\":true,\"items\":[{\"text\":\"Essencial asdf\",\"link\":\"/pt-br/contribute/core\"},{\"text\":\"Documentação\",\"link\":\"/pt-br/contribute/documentation\"},{\"text\":\"Plug-ins Próprios\",\"link\":\"/pt-br/contribute/first-party-plugins\"},{\"text\":\"GitHub Actions\",\"link\":\"/pt-br/contribute/github-actions\"}]},{\"text\":\"Projetos Comunitários\",\"link\":\"/pt-br/more/community-projects\"},{\"text\":\"Créditos\",\"link\":\"/pt-br/more/thanks\"}]}},\"zh-hans\":{\"label\":\"简体中文\",\"lang\":\"zh-hans\",\"themeConfig\":{\"nav\":[{\"text\":\"指导\",\"link\":\"/zh-hans/guide/getting-started\"},{\"text\":\"参考\",\"link\":\"/zh-hans/manage/configuration\"},{\"text\":\"0.14.1\",\"items\":[{\"text\":\"Changelog\",\"link\":\"https://github.com/asdf-vm/asdf/blob/master/CHANGELOG.md\"},{\"text\":\"如何贡献\",\"link\":\"/zh-hans/contribute/core\"}]}],\"sidebar\":[{\"text\":\"指导\",\"collapsed\":false,\"items\":[{\"text\":\"什么是asdf\",\"link\":\"/zh-hans/guide/introduction\"},{\"text\":\"快速入门\",\"link\":\"/zh-hans/guide/getting-started\"}]},{\"text\":\"用法\",\"collapsed\":false,\"items\":[{\"text\":\"核心\",\"link\":\"/zh-hans/manage/core\"},{\"text\":\"插件\",\"link\":\"/zh-hans/manage/plugins\"},{\"text\":\"版本\",\"link\":\"/zh-hans/manage/versions\"}]},{\"text\":\"参考\",\"collapsed\":false,\"items\":[{\"text\":\"配置\",\"link\":\"/zh-hans/manage/configuration\"},{\"text\":\"所有命令\",\"link\":\"/zh-hans/manage/commands\"},{\"text\":\"插件缩写索引\",\"link\":\"https://github.com/asdf-vm/asdf-plugins\"}]},{\"text\":\"插件\",\"collapsed\":true,\"items\":[{\"text\":\"成为作者\",\"items\":[{\"text\":\"创建插件\",\"link\":\"/zh-hans/plugins/create\"},{\"text\":\"GitHub 插件模板\",\"link\":\"https://github.com/asdf-vm/asdf-plugin-template\"}]},{\"text\":\"官方插件\",\"items\":[{\"text\":\"Elixir\",\"link\":\"https://github.com/asdf-vm/asdf-elixir\"},{\"text\":\"Erlang\",\"link\":\"https://github.com/asdf-vm/asdf-erlang\"},{\"text\":\"Node.js\",\"link\":\"https://github.com/asdf-vm/asdf-nodejs\"},{\"text\":\"Ruby\",\"link\":\"https://github.com/asdf-vm/asdf-ruby\"}]},{\"text\":\"社区插件\",\"items\":[{\"text\":\"asdf-community\",\"link\":\"https://github.com/asdf-community\"},{\"text\":\"GitHub 主题搜索\",\"link\":\"https://github.com/topics/asdf-plugin\"}]}]},{\"text\":\"问题\",\"collapsed\":true,\"items\":[{\"text\":\"经常问的问题\",\"link\":\"/zh-hans/more/faq\"},{\"text\":\"GitHub Issues\",\"link\":\"https://github.com/asdf-vm/asdf/issues\"},{\"text\":\"Stack Overflow Tag\",\"link\":\"https://stackoverflow.com/questions/tagged/asdf-vm\"}]},{\"text\":\"如何贡献\",\"collapsed\":true,\"items\":[{\"text\":\"核心\",\"link\":\"/zh-hans/contribute/core\"},{\"text\":\"文档\",\"link\":\"/zh-hans/contribute/documentation\"},{\"text\":\"官方插件\",\"link\":\"/zh-hans/contribute/first-party-plugins\"},{\"text\":\"GitHub Actions\",\"link\":\"/zh-hans/contribute/github-actions\"}]},{\"text\":\"社区项目\",\"link\":\"/zh-hans/more/community-projects\"},{\"text\":\"致谢\",\"link\":\"/zh-hans/more/thanks\"}]}}},\"scrollOffset\":134,\"cleanUrls\":false}");</script>
</body>
</html>