https://github.com/jdx/mise
It's a generic version manager (replacing nvm/pyenv/etc). It also does direnv and tasks.