, ,

Essential Command-Line Tools for Windows Developers

Man typing on keyboard at computer displaying command lines and system info

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.

ToolDescriptionInstall Website
PowerShellMicrosoft’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
wingetMicrosoft’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
curlA 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
GitEssential for cloning repositories, working with GitHub, and installing many coding tools. Git for Windows also includes Git Bash.Git for Windows
Windows TerminalMicrosoft’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.

ToolDescriptionInstall Website
WSLWindows Subsystem for Linux. Lets you run a real Linux environment directly inside Windows. The usual install command is wsl --install.Install WSL
Ubuntu on WSLThe 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 CommandDescriptionInstall Website
Node.jsThe JavaScript runtime used by many command-line tools. Installing Node.js also installs npm and npx.Download Node.js
npmThe standard JavaScript package installer. Commonly used to install command-line tools, agent CLIs, build tools, and web development packages.Install Node.js and npm
npxRuns Node packages without permanently installing them. Useful for one-off setup commands and project scaffolding.npx documentation
pnpmA fast alternative to npm. Often used by modern JavaScript and TypeScript projects.Install pnpm
YarnAnother JavaScript package manager. Still used by many projects, especially older JavaScript applications.Install Yarn
BunA JavaScript runtime and package manager. Some newer tools use Bun instead of Node.js and npm.Install Bun
DenoA 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 CommandDescriptionInstall Website
PythonThe Python programming language runtime. Required for Python-based tools and scripts.Python for Windows
pipPython’s standard package installer. It is normally installed with Python.Install pip
pipxInstalls Python command-line applications into isolated environments. Better than global pip installs for many CLI tools.Install pipx
uvA 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 CommandDescriptionInstall Website
PHPThe PHP runtime. Needed for WordPress, PHP scripts, local development, and PHP-based command-line tools.PHP for Windows
ComposerPHP’s dependency manager. It is the PHP equivalent of npm for many projects.Download Composer
WP-CLIThe 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.

ToolDescriptionInstall Website
Docker DesktopRuns containers on Windows. Useful for projects that need known versions of databases, services, Linux tools, or complete local development environments.Docker Desktop
Docker CLIThe command-line interface used to build, run, stop, and manage Docker containers and images.Docker CLI documentation
Docker ComposeRuns 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 CommandDescriptionInstall Website
rustup / cargoInstalls Rust and Cargo. Needed for some fast command-line tools and packages that include Rust components.Install Rust
Go / go installInstalls the Go programming language. The go install command is often used to install Go-based CLI tools.Install Go
.NET SDK / dotnetInstalls 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.

ToolBest UseInstall Website
wingetBest default Windows package manager. Use this first where possible.winget documentation
ChocolateyUseful for scripted setup and older Windows development workflows.Install Chocolatey
ScoopLightweight 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.

ToolWhat It DoesSimple Rule
wingetInstalls software packages on Windows.Use winget to install software.
curlDownloads 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.Git
winget install OpenJS.NodeJS.LTS
winget install Python.Python.3
winget install Microsoft.PowerShell
winget install Microsoft.WindowsTerminal
winget 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 --version
node --version
npm --version
python --version
pip --version
php --version
composer --version
docker --version
wsl --version
pwsh --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:

PowerShell
Windows Terminal
winget
curl
Git
Node.js / npm / npx
Python / pip / pipx / uv
WSL / Ubuntu
Docker 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.

Comments

Leave a Reply

Discover more from Jonathan Camp

Subscribe now to keep reading and get access to the full archive.

Continue reading