Stop typing
npm install/pip install -r/go mod download/cargo fetch/bundle install/composer install/ … forever.
GumEnvDev scans your workspace, figures out what languages and tools each project needs, and runs the right install command for you. It also installs the toolchains themselves — Node, Python, Go, Rust, .NET, Docker, PostgreSQL, ~50 in total — through winget / scoop / choco / brew / apt so you don't have to leave VS Code to set up a new machine.
✨ Features
One command per language — no more remembering syntax
Open a project, click Prepare, and GumEnvDev runs the correct install command:
| Detected file | What GumEnvDev runs |
|---|---|
package.json (+ lockfile) |
npm ci / pnpm install --frozen-lockfile / yarn install --frozen-lockfile / bun install |
pyproject.toml + uv.lock |
uv sync |
pyproject.toml (poetry) |
poetry install |
requirements.txt |
python -m venv .venv && pip install -r requirements.txt |
Pipfile |
pipenv install --dev |
go.mod |
go mod download && go mod tidy |
Cargo.toml |
cargo fetch |
*.csproj / *.sln |
dotnet restore |
pom.xml |
mvn dependency:resolve (uses ./mvnw if present) |
build.gradle |
gradle dependencies (uses ./gradlew if present) |
composer.json |
composer install |
Gemfile |
bundle install |
vcpkg.json / conanfile.txt / CMakeLists.txt |
vcpkg install / conan install / cmake -B build |
pubspec.yaml |
flutter pub get or dart pub get |
Package.swift |
swift package resolve |
mix.exs |
mix deps.get |
build.sbt |
sbt update |
stack.yaml / *.cabal |
stack build --only-dependencies / cabal update && cabal build --only-dependencies |
deps.edn / project.clj |
clojure -P / lein deps |
deno.json |
deno cache . |
build.zig.zon |
zig build --fetch |
*.nimble |
nimble install --depsOnly |
dune-project |
opam install . --deps-only |
shard.yml |
shards install |
*.rockspec |
luarocks install --only-deps |
renv.lock |
Rscript -e 'renv::restore()' |
cpanfile |
cpanm --installdeps . |
rebar.config |
rebar3 get-deps |
…plus auto-detection of Kotlin (Gradle) and version pins from .nvmrc, .python-version, rust-toolchain.toml, go.mod toolchain directive, global.json, .java-version, and .tool-versions.
One-shot machine setup
Install everything a developer needs through your OS package manager:
| Category | What you get |
|---|---|
| Languages (25) | Node.js, Deno, Python, Go, Rust, .NET, Java, PHP, Ruby, C/C++ (CMake), Dart/Flutter, Kotlin, Swift, Elixir, Scala, Haskell, Clojure, Zig, Nim, OCaml, Crystal, Lua, R, Perl, Erlang |
| Dev Tools (14) | Git, GitHub CLI, Docker, Bun, GNU Make, just, pre-commit, Terraform, kubectl, Helm, AWS CLI, Azure CLI, gcloud SDK, ngrok |
| Databases (5) | PostgreSQL, MySQL, SQLite, Redis, MongoDB Shell |
GumEnvDev auto-picks the best available package manager:
- Windows →
winget→scoop→choco - macOS →
brew(with--caskwhere appropriate) - Linux →
apt/dnf/pacman
Profiles for new machines
Save your full toolchain list as a profile and apply it on a new laptop in 5 minutes. Three presets included (Web Developer, Backend, Enterprise), plus export/import JSON for sharing with teammates.
Project version pins, surfaced
If a project pins a toolchain version (.nvmrc, rust-toolchain.toml, go.mod toolchain, global.json, .java-version, .tool-versions), GumEnvDev shows it in the project tree — so you immediately notice when your installed version doesn't match what the repo wants.
🖥️ The sidebar
GumEnvDev
├─ 🅰️ Toolchains
│ ├─ Languages (25) 8 installed · 17 missing
│ │ ├─ ✅ Node.js v20.11.0
│ │ ├─ ✅ Python 3.12.1
│ │ ├─ ❌ Go
│ │ └─ … (one-click Install on each row)
│ ├─ Dev Tools (14) 6 installed · 8 missing
│ └─ Databases (5) 1 installed · 4 missing
│
└─ 📦 Projects (workspace)
├─ frontend/ Node.js · pnpm · wants v20.11.0 → [Prepare]
├─ api/ Python · uv · wants ^3.11 → ✅ Ready
└─ worker/ Go · go modules · wants 1.21.5 → [Prepare]
⌨️ Commands
| Command | Description |
|---|---|
GumEnvDev: Scan Workspace |
Detect every project in the open folders |
GumEnvDev: Prepare Project |
Run install command for one project |
GumEnvDev: Prepare All |
Run install command for every detected project |
GumEnvDev: Prepare Folder… |
Pick any folder, scan + prepare in one go |
GumEnvDev: Install Toolchain… |
Pick one toolchain to install |
GumEnvDev: Install All Missing |
Batch-install every missing toolchain (with progress + cancel) |
GumEnvDev: Health Check |
Re-probe every toolchain's version |
GumEnvDev: Apply Profile… |
Install everything in a saved profile |
GumEnvDev: Save Current as Profile… |
Snapshot installed toolchains as a reusable profile |
GumEnvDev: Export / Import Profile… |
Share profiles as JSON |
GumEnvDev: Open Registry |
Edit ~/.gumenvdev/config.json |
⚙️ Settings
| Setting | Default | Effect |
|---|---|---|
gumEnvDev.packageProvider |
auto |
Force a specific provider (winget, scoop, choco, brew, apt, dnf, pacman) |
gumEnvDev.autoScan |
true |
Scan workspace folders on startup |
gumEnvDev.confirmBeforeInstall |
true |
Show a confirmation dialog before installing |
gumEnvDev.nodePackageManager |
auto |
Preferred Node PM when no lockfile (npm / yarn / pnpm / bun) |
gumEnvDev.pythonPackageManager |
auto |
Preferred Python PM (pip / uv / poetry / pipenv) |
gumEnvDev.pythonUseVenv |
true |
Create .venv automatically for pip projects |
gumEnvDev.statusBar.enabled |
true |
Show GumEnvDev summary on the status bar |
🔐 Safety
- Nothing installs silently — every batch shows a modal preview of what will run, listing the provider, the package id, and the count.
- User-scoped where possible — winget uses
--scope user; apt usessudo -n(so it fails cleanly instead of hanging on a password prompt). - Full transparency — every command runs through a single
GumEnvDevoutput channel so you can see exactly what your shell would run. - Cancellable batches — the Install All Missing progress notification has a cancel button.
🧑💻 Tested workflows
| Scenario | Steps |
|---|---|
| Fresh Windows laptop | Install VS Code → install this extension → GumEnvDev: Apply Profile… → Web Developer → wait 10 min |
| Cloned a polyglot repo | Open folder → sidebar auto-scans → click Prepare on each project |
| Updating a stale toolchain | Sidebar shows ⚠️ outdated → click the install icon → upgrade runs through winget |
| Onboarding a teammate | Export your profile to team-stack.json → they import → apply → done |
🤝 Sibling extensions
- GumRun — start/stop/restart your dev servers (Go/Node/Python/Rust/.NET/Java/PHP/Ruby presets).
- GumGoPreview — preview Go HTML templates in VS Code.
- GumDotNetFormViewer — preview .NET WinForms designers inside VS Code.
📋 License
MIT