Skip to content

Dev Environments

dev-env-install sets up language runtimes on demand. Most languages are managed via mise, a single version manager that handles switching between versions per project.

dev-env-install <language>
LanguageNotes
rubyLatest Ruby + Rails gem
nodeLatest Node.js via mise
bunBun runtime via mise
denoDeno runtime via mise
goLatest Go via mise
pythonLatest Python via mise + uv package manager
rustRust toolchain via rustup
zigZig + ZLS language server via mise
javaOpenJDK 17 via pkg
elixirElixir + Erlang via mise, Hex + Rebar included
phpPHP 8.3 + Composer via pkg
ocamlOCaml + opam, LSP + utop included
dev-env-remove <language>

Uninstalls the runtime via mise or the appropriate package manager. mise-managed runtimes are removed with mise uninstall; pkg-installed ones are removed with pkg remove.

If mise is not present, dev-env-install downloads and installs it automatically. mise activates per-project .tool-versions files, so different projects can use different runtime versions without conflict.

mise use --global node@20 # pin a specific version globally
mise use node@18 # pin for the current directory