One place to download every official DevOps tool installer for a fresh Windows workstation — without silent installs, bundled binaries, or telemetry.
A native Windows desktop app built for DevOps engineers to quickly get official installers and binaries for the tools of the trade — container runtimes, IaC tools, Kubernetes CLIs, and cloud provider CLIs (AWS, Azure, GCP) — all from one place.
DevOpsToolsInstaller does not install anything silently. It downloads the vendor's official artifact with a live progress bar, then takes the right hands-off action for what it downloaded — launching a vendor installer, unpacking an archive, or dropping a CLI into a tools folder — so you finish setup exactly the way the vendor intended. No bundled binaries, no background scripts modifying your system.
- Why
- Who this is for
- How it works
- What happens after download
- A quick tour
- Categories covered
- Adding
Tools\binto your PATH - Features
- Security & privacy
- Installation
- Build from source
- Tech stack
- Catalog format
- Adding a tool to the catalog
- Troubleshooting
- FAQ
- Roadmap
- Contributing
- License
Setting up a new DevOps workstation usually means the same ritual every time: open a dozen tabs, hunt down the AWS CLI installer, the Terraform binary, kubectl, the Azure CLI, Helm, k9s, gcloud... and run each one by hand. DevOpsToolsInstaller collects those links into a single, versioned catalog so you can browse by category, queue up what you need for a new machine, and download everything in one sitting — while the actual installation stays fully in your hands, exactly like doing it manually.
DevOps engineers, SREs, and platform engineers setting up or rebuilding a Windows workstation who are tired of manually chasing down installer links for the same set of tools every time.
- Browse the catalog, grouped by category (Cloud CLIs, Containers, IaC, Kubernetes, CI/CD, Editors, etc.)
- Select the tools you need
- DevOpsToolsInstaller downloads each artifact directly from the vendor's official URL, with progress per item
- Once downloaded, trigger the right action for each tool with one click
Nothing is installed silently. Nothing runs with elevated permissions except a vendor installer that you launch, which requests elevation the normal way.
Not every tool is a classic setup wizard. The catalog tags each tool with a kind, and the app takes the matching action:
| Kind | Examples | Action | Button |
|---|---|---|---|
| Installer | AWS CLI, Docker Desktop, Git, VS Code | Launches the vendor installer (it shows its own UAC prompt) | Install |
| Archive | Terraform, Helm, Pulumi, glab | Extracts the .zip into a per-tool folder and opens it |
Extract |
| Binary | kubectl, kind, jq, yq | Copies the standalone .exe into a single Tools\bin folder you can add to PATH |
Add to Tools |
| Script | OCI CLI install script | Opens the folder so you can review it first — scripts are never run automatically | Open Folder |
If a catalog entry omits kind, the app infers it from the file extension
(.zip → archive, .ps1 → script, .msi/.exe → installer), so older
catalogs keep working.
Every tool you've actioned can be removed again from the Downloads screen —
each row has an Uninstall / Remove button that does the right thing for the
tool's kind:
| Kind | Remove action | Button |
|---|---|---|
| Installer | Finds the tool in the Windows uninstall registry and launches the vendor's own uninstaller (it shows its own prompts / UAC — nothing is removed silently) | Uninstall |
| Archive | Deletes the extracted Tools\<tool-id> folder |
Remove |
| Binary | Deletes the standalone .exe from Tools\bin |
Remove |
| Script | Nothing was installed, so only the cached download is removed | Delete |
The button only lights up when there's actually something to remove — the app checks for the extracted folder, the copied binary, or a matching Windows uninstall entry when the Downloads page loads. Every removal asks for confirmation first and, by default, also clears the cached download so you get disk space back. Just like installing, the app never elevates itself and never runs a vendor uninstaller silently.
- Downloads —
%LOCALAPPDATA%\DevOpsToolsInstaller\Downloads - Extracted archives —
%LOCALAPPDATA%\DevOpsToolsInstaller\Tools\<tool-id> - Standalone binaries —
%LOCALAPPDATA%\DevOpsToolsInstaller\Tools\bin
The app has four screens, reachable from the left navigation pane:
- Home — a summary of how many tools are in the catalog and how many you've already downloaded, plus quick links into the rest of the app.
- Tool Catalog — the full, searchable list grouped by category. Each row shows the tool's name and version, a kind badge (Installer / Archive / Binary / Script), and its category. Select any number of tools and hit Download Selected to fetch them concurrently.
- Downloads — live progress for everything you've queued, with a
context-aware action button per tool (
Install,Extract,Add to Tools, orOpen Folder) plus anUninstall/Removebutton to reverse it again. - Settings — switch between Light / Dark / System themes, see how much disk your downloads use, clear the download cache, and open the downloads folder.
- Cloud provider CLIs — AWS CLI, Azure CLI, Google Cloud CLI, OCI CLI
- Containerization — Docker Desktop, Podman Desktop
- Kubernetes — kubectl, Helm, k9s, kind, minikube
- Infrastructure as Code — Terraform, Pulumi, Ansible
- CI/CD & Version Control — Git, GitHub CLI, GitLab CLI
- Editors & Terminals — VS Code, Windows Terminal
- Utilities — jq, yq, Postman
(Full, up-to-date list lives in catalog/catalog.json.)
Every Binary tool (kubectl, kind, jq, yq, …) lands in one folder. Add it
to your user PATH once and those CLIs work from any terminal. The app tells
you whether the folder is already on your PATH; to add it yourself, run this
in PowerShell (no admin required — it only touches your user environment):
$bin = "$env:LOCALAPPDATA\DevOpsToolsInstaller\Tools\bin"
$user = [Environment]::GetEnvironmentVariable("PATH", "User")
if ($user -notlike "*$bin*") {
[Environment]::SetEnvironmentVariable("PATH", "$user;$bin", "User")
Write-Host "Added $bin to your user PATH. Restart your terminal to pick it up."
}- 📦 Curated catalog of official DevOps tool and cloud CLI installers, grouped by category
- 🧠 Artifact-aware actions — installers launch, archives extract, binaries go to a PATH-able folder, scripts open for review
- ♻️ Reversible — a per-tool
Uninstall/Removebutton deletes extracted files and binaries or launches the vendor's own uninstaller (never silent) - ⬇️ Concurrent downloads (up to 3 at a time) with real-time per-item progress
- ✅ Optional SHA-256 verification — a mismatch triggers an automatic re-download
- 🔎 Instant search across tool names, categories, and descriptions
- 🌗 Light / Dark / System-default themes, remembered between sessions
- 🔄 Catalog updates independently of the app — no reinstall needed for new tools (fetched from GitHub, with an offline embedded fallback)
- 🧊 No bundled installers, no silent execution, no telemetry
- 🖥️ Native Windows 11 look and feel (WinUI 3), for both x64 and arm64
- No silent installs. The app downloads artifacts; you decide when to run them. Installers surface their own UAC prompt — the app itself never requests elevation.
- Scripts are never auto-executed. For
script-kind entries (e.g. the OCI CLI installer), the app only opens the containing folder so you can review the script before running it yourself. - Downloads come straight from the vendor. URLs point at official vendor or first-party release hosts; nothing is proxied or repackaged.
- Optional integrity checks. When a catalog entry includes a
sha256, the downloaded file is hashed and re-downloaded on mismatch. - No telemetry. The only network calls are fetching the catalog JSON and downloading the artifacts you choose.
Download the latest release from the Releases page and run
the .exe. No installation required — it's a single self-contained binary.
Builds are published for both x64 and arm64.
Requires the .NET 8 SDK on Windows 10/11.
# Release build (self-contained folder output)
.\build.ps1
# Build and launch
.\build.ps1 -Run
# Single-file executable
.\build.ps1 -SingleFile
# Clean all build artifacts
.\build.ps1 -CleanOr with the SDK directly:
dotnet build src/DevOpsToolsInstaller/DevOpsToolsInstaller.csproj -c Release- WinUI 3 (Windows App SDK) on .NET 8
- Self-contained, no runtime install required
- Catalog is plain JSON — no code changes needed to add tools
The catalog is a flat JSON array. Each entry describes one tool:
kinddrives the post-download action (see What happens after download). If omitted, it's inferred from the file extension for backward compatibility.sha256, when provided, is checked after download; a mismatch triggers a re-download.
- Add a new object to
catalog/catalog.jsonwith the fields above. - Pick a unique, stable
id(used for the per-tool extract folder). - Set the correct
kindso the app takes the right action:installerfor.exe/.msisetups that install themselvesarchivefor.zipfiles that need extractingbinaryfor a single standalone.exe(a CLI)scriptfor.ps1/shell scripts the user should review first
- Point
downloadUrlat the official vendor artifact and set a matchingfileName. - (Recommended) fill in
versionandhomepage; (optional) add asha256. - Rebuild, or just let the app pick up the change on next launch — the catalog is fetched from GitHub at runtime with the embedded copy as a fallback.
- A download fails or stalls. Re-select the tool and download again; the app removes partial files on failure and resumes from a clean state. Check that the vendor URL in the catalog is still current.
- "Add to Tools" worked but the CLI isn't found. Make sure
Tools\binis on yourPATH(see above) and restart your terminal. - The catalog looks out of date. The app fetches the catalog from GitHub on launch and falls back to the embedded copy when offline. Reconnect and relaunch to get the latest.
- Theme didn't change everything. Theme is applied live; if a screen looks off, navigate away and back.
Does it install tools silently or with admin rights? No. It downloads artifacts and then hands off to the vendor's own installer, which you launch and which shows its own UAC prompt if it needs one.
Will it run the OCI install script for me? No. Script-kind entries are downloaded and the folder is opened for review; you run the script yourself.
Where are my downloads and extracted tools?
Under %LOCALAPPDATA%\DevOpsToolsInstaller — see
Where files go.
Can I add my own tools? Yes — see Adding a tool to the catalog.
Ideas under consideration (contributions welcome):
- SHA-256 hashes populated for more catalog entries
- Per-tool "update available" hints when a newer version ships
- A one-click "Add
Tools\binto PATH" action inside Settings - Support for
.tar.gz/.7zarchive extraction
Contributions are welcome — especially catalog additions for new DevOps
tools and cloud CLIs, and corrections to download URLs and versions. When
adding a tool, set the correct kind so the app takes the right action.
See CONTRIBUTING.md for guidelines.
{ "id": "terraform", // unique, stable identifier "name": "Terraform", // display name "category": "Infrastructure as Code", "description": "Infrastructure as Code tool for provisioning cloud resources", "iconGlyph": "\uE74C", // Segoe Fluent Icons glyph "kind": "archive", // installer | archive | binary | script "version": "1.9.5", // optional, shown in the UI "homepage": "https://www.terraform.io/", // optional "downloadUrl": "https://releases.hashicorp.com/terraform/1.9.5/terraform_1.9.5_windows_amd64.zip", "fileName": "terraform_windows_amd64.zip", "sha256": "", // optional; if set, verified after download "launchArgs": "" // optional args passed to an installer }