GumEnvDev — One-click dev environment for VS Code
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 --cask where 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.
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 uses sudo -n (so it fails cleanly instead of hanging on a password prompt).
- Full transparency — every command runs through a single
GumEnvDev output 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
| |