If you are setting up modern development tools, AI coding agents, automation scripts, or local testing environments on Windows, the command line quickly becomes important. Many setup guides assume that you already have tools such as Git, Node.js, Python, PowerShell, WSL, Docker, npm, winget, and curl available.
This guide lists the most useful command-line utilities and installers for Windows developers. It is aimed at people who want a practical, simple setup without installing unnecessary tools.
The Core Windows CLI Toolkit
These are the tools I would normally install first on a Windows development machine.
| Tool | Description | Install Website |
|---|---|---|
| PowerShell | Microsoft’s modern command-line shell and scripting language. Useful for setup scripts, automation, file management, environment variables, and running Windows development commands. | Install PowerShell on Windows |
| winget | Microsoft’s Windows Package Manager. Use it to install software from the command line, including Git, Node.js, Python, Docker Desktop, PHP, Go, Rust, and Visual Studio Code. | Windows Package Manager |
| curl | A command-line tool for downloading files, calling URLs, and running install commands supplied by software projects. It is useful, but it is not a package manager. | curl for Windows |
| Git | Essential for cloning repositories, working with GitHub, and installing many coding tools. Git for Windows also includes Git Bash. | Git for Windows |
| Windows Terminal | Microsoft’s modern terminal application. It can host PowerShell, Command Prompt, WSL, Git Bash, and other shells in one place. | Install Windows Terminal |
Linux Command-Line Tools on Windows
A lot of agent and developer documentation is written for macOS or Linux. On Windows, WSL is often the cleanest way to run those commands without fighting with Windows path differences or missing Linux utilities.
| Tool | Description | Install Website |
|---|---|---|
| WSL | Windows Subsystem for Linux. Lets you run a real Linux environment directly inside Windows. The usual install command is wsl --install. | Install WSL |
| Ubuntu on WSL | The most common Linux distribution used with WSL. Useful for Bash, apt, SSH, Linux-style paths, server tools, and many open-source development workflows. | Ubuntu on WSL |
JavaScript and TypeScript Installers
Many coding agents, web tools, and local development servers are distributed through the JavaScript ecosystem. For most Windows users, Node.js LTS is the sensible starting point because it includes npm and npx.
| Installer or Command | Description | Install Website |
|---|---|---|
| Node.js | The JavaScript runtime used by many command-line tools. Installing Node.js also installs npm and npx. | Download Node.js |
| npm | The standard JavaScript package installer. Commonly used to install command-line tools, agent CLIs, build tools, and web development packages. | Install Node.js and npm |
| npx | Runs Node packages without permanently installing them. Useful for one-off setup commands and project scaffolding. | npx documentation |
| pnpm | A fast alternative to npm. Often used by modern JavaScript and TypeScript projects. | Install pnpm |
| Yarn | Another JavaScript package manager. Still used by many projects, especially older JavaScript applications. | Install Yarn |
| Bun | A JavaScript runtime and package manager. Some newer tools use Bun instead of Node.js and npm. | Install Bun |
| Deno | A JavaScript and TypeScript runtime with built-in tooling. Used by some modern scripts and command-line tools. | Install Deno |
Python Installers and CLI Tools
Python is widely used for automation, AI tools, scripts, data processing, and local utilities. A sensible Windows setup includes Python, pip, and either pipx or uv for cleaner command-line tool installation.
| Installer or Command | Description | Install Website |
|---|---|---|
| Python | The Python programming language runtime. Required for Python-based tools and scripts. | Python for Windows |
| pip | Python’s standard package installer. It is normally installed with Python. | Install pip |
| pipx | Installs Python command-line applications into isolated environments. Better than global pip installs for many CLI tools. | Install pipx |
| uv | A fast modern Python package and project manager. Increasingly used by Python projects and developer tools. | Install uv |
PHP and WordPress Development Tools
For WordPress plugin development, PHP scripts, local testing, and PHP-based automation, PHP and Composer are the key command-line tools.
| Installer or Command | Description | Install Website |
|---|---|---|
| PHP | The PHP runtime. Needed for WordPress, PHP scripts, local development, and PHP-based command-line tools. | PHP for Windows |
| Composer | PHP’s dependency manager. It is the PHP equivalent of npm for many projects. | Download Composer |
| WP-CLI | The command-line interface for WordPress. Useful for managing plugins, themes, users, database tasks, and WordPress maintenance from the terminal. | WP-CLI |
Docker and Container Tools
Docker is useful when a project needs a repeatable setup, Linux services, databases, Redis, queues, local APIs, or anything that is awkward to install directly on Windows.
| Tool | Description | Install Website |
|---|---|---|
| Docker Desktop | Runs containers on Windows. Useful for projects that need known versions of databases, services, Linux tools, or complete local development environments. | Docker Desktop |
| Docker CLI | The command-line interface used to build, run, stop, and manage Docker containers and images. | Docker CLI documentation |
| Docker Compose | Runs multi-container setups using a compose file. Common for local development stacks with web servers, databases, caches, and background workers. | Docker Compose documentation |
Other Useful Language Toolchains
You do not need these for every setup, but some command-line tools and agents depend on them.
| Installer or Command | Description | Install Website |
|---|---|---|
| rustup / cargo | Installs Rust and Cargo. Needed for some fast command-line tools and packages that include Rust components. | Install Rust |
| Go / go install | Installs the Go programming language. The go install command is often used to install Go-based CLI tools. | Install Go |
| .NET SDK / dotnet | Installs Microsoft’s .NET command-line tools. Needed for C# and .NET-based utilities. | Download .NET |
Package Managers for Windows
Windows now has several ways to install software from the command line. You do not need all of them. For most people, winget is enough.
| Tool | Best Use | Install Website |
|---|---|---|
| winget | Best default Windows package manager. Use this first where possible. | winget documentation |
| Chocolatey | Useful for scripted setup and older Windows development workflows. | Install Chocolatey |
| Scoop | Lightweight installer for developer tools. Good when you want less system-wide clutter. | Install Scoop |
winget vs curl
It is worth separating these two because they are often mentioned together in setup instructions.
| Tool | What It Does | Simple Rule |
|---|---|---|
| winget | Installs software packages on Windows. | Use winget to install software. |
| curl | Downloads files or calls URLs from the command line. | Use curl when install instructions tell you to download a script or file. |
Recommended Simple Setup
For a clean Windows development machine, I would start with this simple set of tools:
- PowerShell 7
- Windows Terminal
- winget
- curl
- Git
- Node.js, npm, and npx
- Python, pip, pipx, and uv
- PHP and Composer, if you work with WordPress or PHP
- WSL with Ubuntu
- Docker Desktop, when you need repeatable local environments
Example Windows Setup Commands
These examples show the general idea of using winget as the first choice for installing common tools.
winget install Git.Gitwinget install OpenJS.NodeJS.LTSwinget install Python.Python.3winget install Microsoft.PowerShellwinget install Microsoft.WindowsTerminalwinget install Docker.DockerDesktop
WSL is normally installed directly from PowerShell or Command Prompt:
wsl --install
After installing tools, check that they are available from the command line:
git --versionnode --versionnpm --versionpython --versionpip --versionphp --versioncomposer --versiondocker --versionwsl --versionpwsh --version
When Should You Use Docker?
Docker is powerful, but it is not needed for every small project. For a simple PHP script, JavaScript test, or small local tool, it can add extra weight.
Docker becomes useful when a project needs:
- A repeatable development environment
- A specific Linux setup
- MySQL, PostgreSQL, Redis, or another local service
- Multiple services running together
- A setup that must be shared with other developers
- A way to avoid installing lots of services directly into Windows
Final Recommendation
For most Windows users setting up command-line tools, coding agents, or local development environments, the best starting point is simple:
PowerShellWindows TerminalwingetcurlGitNode.js / npm / npxPython / pip / pipx / uvWSL / UbuntuDocker Desktop
Add PHP and Composer if you work with WordPress or PHP. Add Rust, Go, Deno, Bun, pnpm, Yarn, or .NET only when a specific project asks for them.
The best setup is not the biggest setup. Install the core tools first, then add more only when you actually need them.

Leave a Reply