Xcode Command Line Tools prerequisite
Apple's compiler toolchain. Git ships inside it, and Homebrew requires it.
You did not pick this one. It is here because homebrew needs it first.
macOS
xcode-select -p
Example output
Everything you need installed before your first pull request.
Apple's compiler toolchain. Git ships inside it, and Homebrew requires it.
You did not pick this one. It is here because homebrew needs it first.
xcode-select -p
The package manager most macOS developer tooling assumes exists.
You did not pick this one. It is here because postgres needs it first.
brew --version
brew --version
The editor. It goes first because Git's Windows installer asks which editor to use.
code --version
code --version
code --version
Extensions worth adding by name, because search results are full of near-duplicates: Python (Microsoft), ESLint, Prettier.
Version control. Install it after your editor, before anything that clones.
git --version
git --version
git --version
GitHub from the terminal: authentication, pull requests, repository operations.
gh auth status
gh auth status
gh auth status
A Node version manager. Install this instead of installing Node directly, so a project needing a different Node version is a one-line change rather than a reinstall.
nvm --version
node --version
nvm version
node --version
nvm --version
node --version
One tool covering Python interpreters, virtual environments and packages.
uv --version
uv --version
uv --version
Day to day: uv init starts a project, uv venv makes an environment, uv add <pkg> installs into it.
The JavaScript runtime.
You installed nvm, so Node came with it. There is nothing to install here, and on Windows installing Node separately would actively break nvm. Just confirm the version.
node --version
npm --version
node --version
npm --version
node --version
npm --version
The Python interpreter.
You installed uv, which manages interpreters itself, so there is nothing to install from python.org. Installing one anyway leaves two Pythons on the machine, which is the top cause of 'it works in the terminal but not in my editor'.
python3 --version
py --version
python3 --version
Which word you type matters. py on Windows, python3 on macOS and Linux. Bare python opens the Microsoft Store on Windows and usually does not exist on macOS.
Containers. This one is a large download and wants a restart, so it is late on purpose.
docker run hello-world
docker run hello-world
docker run hello-world
A client-server relational database. Two checks, not one: a version check only proves the client program exists.
psql --version
psql -d postgres -c "select version();"
psql --version
psql -d postgres -c "select version();"
psql --version
psql -d postgres -c "select version();"
The first check proves the client exists. The second proves the server is running and reachable, which is the thing you actually need.
Every check for what you selected, in one place. Run them in a new terminal.
xcode-select -p
a path ending in CommandLineTools or Xcode.app
brew --version
a version number
code --version
three lines: version, commit hash, architecture
git --version
a version number
gh auth status
your GitHub username, and 'Logged in to github.com'
nvm --version
node --version
an nvm version, then a Node version
uv --version
a version number
node --version
npm --version
two version numbers
python3 --version
a version number
docker run hello-world
"Hello from Docker!" and a short explanation
psql --version
psql -d postgres -c "select version();"
a version number, then a row of server version detail
code --version
three lines: version, commit hash, architecture
git --version
a version number
gh auth status
your GitHub username, and 'Logged in to github.com'
nvm version
node --version
an nvm version, then a Node version
uv --version
a version number
node --version
npm --version
two version numbers
py --version
a version number
docker run hello-world
"Hello from Docker!" and a short explanation
psql --version
psql -d postgres -c "select version();"
a version number, then a row of server version detail
brew --version
a version number
code --version
three lines: version, commit hash, architecture
git --version
a version number
gh auth status
your GitHub username, and 'Logged in to github.com'
nvm --version
node --version
an nvm version, then a Node version
uv --version
a version number
node --version
npm --version
two version numbers
python3 --version
a version number
docker run hello-world
"Hello from Docker!" and a short explanation
psql --version
psql -d postgres -c "select version();"
a version number, then a row of server version detail
Indexed by what is on your screen, not by topic. Use your browser's find (Ctrl/Cmd+F) and paste the error text.
The install dialog fails partway throughmacOS Xcode Command Line Tools
Remove the partial install and start again: sudo rm -rf /Library/Developer/CommandLineTools, then re-run xcode-select --install.
zsh: command not found: brewmacOS Linux Homebrew
The Next steps block was skipped. Re-run the installer to print it again, run those lines, then open a new terminal.
An install takes an hour and prints compiler outputmacOS Homebrew
Prebuilt bottles only exist for recent macOS versions. On an older one Homebrew builds from source. It usually still works, but budget the time.
'code' is not recognizedWindows VS Code
Add to PATH was unchecked during install. Re-run the installer; it preserves your other settings.
zsh: command not found: codemacOS VS Code
The shell command was never installed. Cmd+Shift+P, then Shell Command: Install 'code' command in PATH.
Your commits show up on GitHub as someone else, or as no onemacOS Windows Linux Git
user.email does not match a verified email on your GitHub account. Nothing errors when this is wrong, which is why it goes unnoticed. Fix it with git config --global user.email and check github.com/settings/emails.
Filename too longWindows Git
Run git config --global core.longpaths true. This bites on Node projects in particular.
You clicked past one of the four screens that matteredWindows Git
Re-run the installer. It is safe, and it preserves the settings you already made.
which nvm finds nothingmacOS Linux nvm
This is expected. nvm is a shell function, not a binary, so which cannot see it. Use command -v nvm instead: it prints nvm when things are working.
nvm: command not foundmacOS Linux nvm
You are still in the terminal you ran the installer in. Open a new one.
nvm use succeeds but node --version is unchangedWindows nvm
An older Node install is still on your PATH. Uninstall it from Add or remove programs, then run nvm use lts again in an administrator terminal.
exit status 1: Access is deniedWindows nvm
nvm use needs an administrator terminal. Right-click your terminal and choose Run as administrator.
Code runs in the terminal but the editor shows import errorsmacOS Windows Linux uv
The editor is pointed at a different Python. In VS Code, run Python: Select Interpreter from the command palette and choose the one inside your project's .venv folder.
npm cannot be loaded because running scripts is disabled on this systemWindows Node.js
Run Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned, then Get-ExecutionPolicy -Scope CurrentUser to confirm. On a managed laptop the change is sometimes silently overridden; if so, use Command Prompt instead of PowerShell, where npm works unchanged.
EACCES: permission denied when installing a global packagemacOS Linux Node.js
Do not reach for sudo npm install -g. It creates root-owned files in your home directory that break later installs in confusing ways. Use a version manager instead, which puts everything under your own account.
Typing python opens the Microsoft StoreWindows Python
That is a stub Microsoft ships. Use py instead. To remove the stub permanently: Settings → Apps → Advanced app settings → App execution aliases, and turn off python.exe and python3.exe.
It reports Python 2macOS Linux Python
You reached a system Python. Use python3.
SSL: CERTIFICATE_VERIFY_FAILEDmacOS Python
Install Certificates.command was never run. Open the Python folder in Applications and double-click it.
Cannot connect to the Docker daemonmacOS Windows Linux Docker
Docker is installed but not running. On macOS and Windows, launch Docker Desktop and wait for it to finish starting. On Linux, sudo systemctl start docker.
An image runs but is noticeably slowmacOS Docker
On Apple Silicon, x86 images run under emulation. Look for an arm64 tag of the image, or accept the slower run.
database "yourname" does not existmacOS Windows Linux PostgreSQL
psql with no arguments tries to connect to a database named after your OS user. Nothing is wrong. Use psql -d postgres instead.
could not connect to server: Connection refusedmacOS Linux PostgreSQL
The server is not running. macOS: brew services start postgresql@18. Linux: sudo systemctl start postgresql.
Port 5432 is already in usemacOS Windows Linux PostgreSQL
Something else has it, usually an older Postgres install or a Docker container. The error does not say which. docker ps first, then look for an existing service.
The dependency graph driving the install order is
scripts/order-tools.js,
imported directly at build time, so this demo cannot show an order the skill would not produce.
Run it yourself:
node scripts/order-tools.js postgres node docker --os macos
The prose is an authored example, the way real output is: the skill writes it from
references/tool-catalog.md,
which holds source material and traps rather than finished steps.