[Feature Request] Support multiple global version files
- 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
- For CLI tools (i.e. `kubectl`, `istioctl`, etc). It doesn't make sense to put these inside a `.tool-versions` file in a repository, since they should be usable globally.
- If I am developing with a team, I would ideally like to provide everyone a consistent version of these CLI tools. This currently isn't possible on a global level, since this would override users' personal `~/.tool-versions`.
### Describe the proposed solution
- Similar to other dotfiles, support a `~/.tool-versions.d` folder. All files are combined and the latest version is used in each instance.
### Describe similar `asdf` features and why they are not sufficient
- There isn't a direct `asdf` feature for this.
### Describe other workarounds you've considered
- Maintain a script that runs `asdf global install X`. This is painful, since users have to run it repeatedly.
- Maintain a custom script that generates a `~/.tool-versions`. This is also bespoke.
Contributor guide
Research direction
No files or tests are named in the issue. Start by locating how global and repository .tool-versions files are resolved, then define the behavior for combining ~/.tool-versions.d files and selecting the latest version for each tool; done means the proposed global configuration works without overriding a user's personal ~/.tool-versions.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100