Usage

Every language gets the same runtime commands:

linguo <lang> install [version]   # sensible default: latest / latest LTS / latest stable
linguo <lang> list                # installed; --available for what's downloadable
linguo <lang> use 3.12            # pin for this directory (writes linguo.toml)
linguo <lang> use 3.12 --global   # default for everything else
linguo <lang> uninstall 3.12.4
linguo <lang> which [command]     # path a command resolves to
linguo <lang> run -- <command>    # run with the pinned toolchain on PATH
linguo status                     # cross-language overview (alias: linguo list)

Upgrades

Upgrade to the newest release within the current pin, or bump the pin itself:

linguo node upgrade               # pin "22" -> installs the newest 22.x
linguo node upgrade --latest      # bumps the pin (22 -> 24) and installs it
linguo node upgrade --prune       # also uninstall the superseded toolchains
linguo upgrade                    # all languages pinned in this directory

Project commands

Where a language has a project/package layer, Linguo provides uv-style project commands. Each drives the ecosystem’s native tool rather than reimplementing it:

linguo python init
linguo python add "requests>=2.31"
linguo node add typescript && linguo node run -- tsc --version
linguo ruby add rails
linguo rust add serde && linguo rust run -- cargo build
linguo go add rsc.io/quote
linguo <lang> remove <pkg>
linguo <lang> sync

Terraform and OpenTofu

Terraform and OpenTofu share one command (linguo tf works too). OpenTofu versions are spelled opentofu@<version> and resolve the tofu binary:

linguo tf install opentofu@1.12
linguo tf use opentofu@1.12       # writes terraform = "opentofu@1.12"
linguo tf run -- tofu plan

Supported languages

LanguageRuntime sourceProject layer
Pythonpython-build-standalonepyproject.toml + pip-backed .venv
Node.jsnodejs.org/distpackage.json via npm
Rubyrv-ruby relocatable buildsGemfile via bundler
Ruststatic.rust-lang.org dist channelsCargo.toml via cargo
Gogo.dev/dlgo.mod via the go tool
Terraform / OpenTofuHashiCorp / OpenTofu releasesruntime-only