← All guides

Setup guide · Last reviewed 10 November 2026

A developer machine in nine installs

Terminal, editor, version control, then runtimes only when a project asks for them. The minimum setup that handles most local work without accounts or subscriptions.

A development machine goes wrong in two directions: too few tools, so every project begins with an hour of setup, or too many, so a background container platform and three language runtimes are running before any code is opened. The middle path is a small stable base and just-in-time additions.

None of the tools below needs an account to do its core job. That is deliberate: a local project should not depend on a service being reachable.

The base three

A decent terminal, an editor with a debugger, and Git. Install these together and configure the editor's terminal integration before the first project. Everything later assumes they exist, so doing them in the wrong order just means redoing configuration.

Note the licence wording on the editor in the table: it is source-available rather than open source, and the prebuilt distribution ships with telemetry that can be switched off in settings.

The tools this step calls for, with their real licence and platform details:

ProgramLicence / pricePlatformsWhy it is on the list
Windows Terminal
Publisher's site ↗
Free · Open sourceWindowsTabs, panes, proper font rendering and a config file, in place of the old console window. On Windows 11 it is already installed. On Windows 10 get it from the Microsoft Store.
Visual Studio Code
Publisher's site ↗
Free · Source-availableWindows, macOS, LinuxThe default editor for most languages, with the largest extension ecosystem in existence. Note that official builds ship Microsoft telemetry, so turn it off in settings or use VSCodium if that matters to you.
Git for Windows
Publisher's site ↗
Free · Open sourceWindows, macOS, LinuxVersion control, plus a real Bash shell on Windows so you can stop translating commands in your head. Install it before anything else in this section.

Runtimes belong to the project

Install a language runtime when you open a repository that needs it, and check whether that repository expects a version manager before installing anything globally. Two projects wanting two versions is normal; one global install is how that becomes an afternoon of confusion.

The tools this step calls for, with their real licence and platform details:

ProgramLicence / pricePlatformsWhy it is on the list
Python
Publisher's site ↗
Free · Open sourceWindows, macOS, LinuxTick 'Add python.exe to PATH' during install or you will spend tomorrow morning reading forum posts. For real projects, use uv or a virtual environment rather than installing packages globally.
Node.js
Publisher's site ↗
Free · Open sourceWindows, macOS, LinuxTake the LTS release, never the Current one, unless you enjoy debugging someone else's broken dependency at midnight. Installing it also gives you npm and npx.
Git for Windows
Publisher's site ↗
Free · Open sourceWindows, macOS, LinuxVersion control, plus a real Bash shell on Windows so you can stop translating commands in your head. Install it before anything else in this section.

Add the specialised tools last

A database client, an SSH file-transfer tool and a container platform are all useful and all optional. Docker Desktop in particular is a large install with its own licensing terms for business use; add it when a project has a compose file, not because it appeared on a list. The same goes for automation tools that run at startup.

The tools this step calls for, with their real licence and platform details:

ProgramLicence / pricePlatformsWhy it is on the list
DBeaver Community
Publisher's site ↗
Free · Open sourceWindows, macOS, LinuxOne database client that speaks PostgreSQL, MySQL, SQLite, SQL Server, Oracle and a hundred more. Browse tables, write queries, export results. The community edition is genuinely complete.
WinSCP
Publisher's site ↗
Free · Open sourceWindowsMoves files over SFTP, SCP and FTP with a two-pane interface and a proper synchronise feature. Pair it with PuTTY and you have a complete remote workflow on Windows.
Docker Desktop
Publisher's site ↗
Free for personal useWindows, macOS, LinuxContainers without a Linux VM to babysit. Free for personal use and small companies, but check the licence terms before using it commercially. Needs WSL2 enabled on Windows.
Notepad++
Publisher's site ↗
Free · Open sourceWindowsReplaces Notepad for anything involving line endings, encodings, regex search or large log files. Light enough to open in a fraction of a second, which is why it survives next to VS Code.

Mistakes to avoid

Questions people ask

Do I need a full IDE?

Not for most work. An editor with the right extension and a terminal covers the majority of local development.

Why keep PuTTY and WinSCP when Windows has SSH?

Saved sessions and drag-and-drop file transfer are still faster for some workflows. They are optional, not prerequisites.

Related guides

Or see all guides and category explainers.

How to read this page. How to read this page. Platform, licence and publisher details come from our directory data. Where an independent review, audit or survey is mentioned, it is summarised in our own words with the source named and linked; our /sources page sets out that policy. The recommendation, the trade-offs and every 'skip it if' line are our editorial judgement. We do not run benchmarks, publish measured performance figures or host installers, and every download link goes to the publisher's own site. If a detail is out of date, our About page explains how to tell us.