asdf-vm / asdf-vm/asdf

Add `help.deps` scripts to all first party plugins (to demonstrate the best practice)

Open
#1,374 2 comments 1 reaction 0 assignees View on GitHub
enhancement
Dominant language
Go
Stars
25.6k
Forks
941
Avg merge
9h 24m
Merged PRs (30d)
3

Description

### Is your feature request related to a problem? Please describe

My problem is that even with https://github.com/asdf-vm/asdf/pull/757, installing dependencies of a plugin is still too hard, mostly because plugin authors do not add a `help.deps` script.

### Describe the proposed solution

The [first party plugins](https://github.com/asdf-vm/asdf/blob/24d524c0a22e909d082ac80c658fae38e5d94e93/docs/contribute/first-party-plugins.md?plain=1#L1-L8) should lead by example and provide `help.deps` scripts that output dependencies for a TBD set of "basic" platform, like Ubuntu, Fedora, Alpine.

Once that's done, the ["Getting Started" guide](https://asdf-vm.com/guide/getting-started.html#plugin-dependencies) should be extended to show how the output of `help.deps` can be used to install plugin dependencies (semi-)automatically.

### Describe similar `asdf` features and why they are not sufficient

Determining and installing plugin dependencies manually is cumbersome and defeats the purpose of a tool like `asdf`, which is to automate tool setup.

### Describe other workarounds you've considered

As suggested [here](https://github.com/asdf-vm/asdf/issues/1176#issuecomment-1327203115), the presence of a working `help.deps` script should and could actually be enforced.

Contributor guide

Open the contributing guide

Research direction

Start with docs/contribute/first-party-plugins.md and inventory the first-party plugins, then review the help.deps convention referenced in the issue. Check the Getting Started guide's plugin-dependencies section. Done means the agreed basic platforms are covered by each plugin's help.deps output and the guide explains using that output to install dependencies.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli, documentation, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.