Reminds me of vim plugin managers like Vundle or NeoBundle. The way they work is you specify a package name and it uses a heuristic to figure out where to look. To steal from the Vundle README...<p><a href="https:&#x2F;&#x2F;github.com&#x2F;VundleVim&#x2F;Vundle.vim" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;VundleVim&#x2F;Vundle.vim</a><p><pre><code>    &quot; The following are examples of different formats supported.
    &quot; Keep Plugin commands between vundle#begin&#x2F;end.
    &quot; plugin on GitHub repo
    Plugin &#x27;tpope&#x2F;vim-fugitive&#x27;
    &quot; plugin from http:&#x2F;&#x2F;vim-scripts.org&#x2F;vim&#x2F;scripts.html
    Plugin &#x27;L9&#x27;
    &quot; Git plugin not hosted on GitHub
    Plugin &#x27;git:&#x2F;&#x2F;git.wincent.com&#x2F;command-t.git&#x27;
    &quot; git repos on your local machine (i.e. when working on your own plugin)
    Plugin &#x27;file:&#x2F;&#x2F;&#x2F;home&#x2F;gmarik&#x2F;path&#x2F;to&#x2F;plugin&#x27;
    &quot; The sparkup vim script is in a subdirectory of this repo called vim.
    &quot; Pass the path to set the runtimepath properly.
    Plugin &#x27;rstacruz&#x2F;sparkup&#x27;, {&#x27;rtp&#x27;: &#x27;vim&#x2F;&#x27;}
    &quot; Avoid a name conflict with L9
    Plugin &#x27;user&#x2F;L9&#x27;, {&#x27;name&#x27;: &#x27;newL9&#x27;}
</code></pre>
It&#x27;s one of those things that works so well you can just kind of forget about it once you get used to it, but you&#x27;re not really locked in either.