Connect.AI logoConnect.AI
Dashboard
Setting up your machine

Four installs. In this order.

A package manager, Node.js, Git and Claude — Homebrew if you are on a Mac, WinGet if you are on Windows. Each one needs the one above it, so work down the page and nothing will ask for a tool you have not installed yet.

One at a time

Work down them in order and nothing will ask for a tool you have not installed yet. Step 01 is a choice, not two installs — Homebrew if you are on a Mac or Linux, WinGet if you are on Windows. Every step after it gives you both commands.

01macOS · Linux

Homebrew

The package manager. You install it once, and from then on it installs and updates everything else with a single command — including the next two things on this page.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

On Apple Silicon it installs to /opt/homebrew and the installer prints two lines to add it to your shell. Run them — skipping that is why brew: command not found happens in a fresh terminal.

brew.sh

01Windows · instead of Homebrew

WinGet

Windows already has a package manager, so you do not need Homebrew. WinGet does the same job with the same one-line-per-tool rhythm, and every step below gives you its command too.

winget --version

It ships with Windows 11 and recent Windows 10, so run the check above first — a version number means you are done. If it comes back empty, install App Installer from the Microsoft Store.

Microsoft docsApp Installer

02Take the LTS

Node.js

The runtime. Anything you build for the web that is not just a static page runs on it, and every command on the rest of this page is a Node program.

brew install node                 # macOS
winget install OpenJS.NodeJS.LTS  # Windows

npm comes with it — you do not install npm separately. Take version 20 LTS or newer. If you end up juggling versions across projects, install nvm later and let it manage Node for you.

nodejs.orgnvm (version manager)

03Probably already there

Git

Version control. It tracks every change you make, lets you undo any of them, and is how your code gets to GitHub and onto other machines.

brew install git       # macOS
winget install Git.Git  # Windows

On a Mac you likely have it already — xcode-select --install puts it there along with Apple’s Command Line Tools, which npm occasionally needs to compile things. Run git --version and only install if it comes back empty.

git-scm.com

04Needs Node first · same on both

Claude

The agent you actually build with. Claude Code runs in your terminal, reads and writes the files in whatever project you are standing in, and runs commands for you. It installs through npm, which is why Node had to come first.

npm install -g @anthropic-ai/claude-code

Then run claude in any project folder and sign in when it asks. The desktop app is a separate download and worth having too — it is the same account, and the two do different jobs.

Claude Code docsClaude desktop app

Marks are each project’s own. Git mark by Jason Long, CC BY 3.0 · Homebrew mark by Vítor Galvão, BSD · Node.js mark MIT · WinGet mark MIT (Microsoft). Full provenance in CREDITS.md.

Check it worked

Five commands, five version numbers. If any one of them comes back command not found, that install is the one to go back to — the rest are fine.

brew --version        # or: winget --version
node --version        # v20 or newer
npm --version
git --version
claude --version

A bundler and a test runner

These two are not machine-wide installs like the four above — they live inside each project, which is why they come last. You will want both from the first real thing you build.

A bundler takes the many files you write and turns them into the few files a browser can actually load, reloading the page as you save. Vite is the current default and the command below creates a project with it already wired up. A test runner runs your tests and tells you what broke. Vitest is the one that pairs with Vite — it reads the same configuration, so there is nothing to set up.

npm create vite@latest my-app    # bundler + a project to put it in
cd my-app
npm install
npm install -D vitest            # test runner

npm run dev                      # the bundler, watching
npx vitest                       # the tests, watching

Vite asks which framework you want. If you have no reason to pick another, React is the safe answer and the one the rest of this course assumes.

vite.devvitest.dev

When it does not work

brew: command not found, right after installing Homebrew
The installer finished but your shell does not know where it went — on Apple Silicon that is /opt/homebrew, which is not on the default PATH. The installer printed two lines telling you to run eval "$(/opt/homebrew/bin/brew shellenv)" and to add it to your ~/.zprofile. Run both, then open a new terminal.
claude: command not found, right after installing it
npm installed it somewhere your shell is not looking. Run npm config get prefix, and make sure that path plus /bin is on your PATH. Opening a new terminal fixes it most of the time.
npm install fails while compiling something
Install Apple’s Command Line Tools with xcode-select --install and try again. On a clean Mac this is the one missing piece that is not Node itself.
Something says my Node version is too old
Check it with node --version. If it is below 20, run brew upgrade node — or install nvm and use it to pick a version per project, which is the better answer once you have more than one project.
A permissions error on npm install -g
Never fix this with sudo — it leaves root-owned files in your npm directory that break later installs. Install Node through Homebrew or nvm instead of a system package, and the problem does not arise.
Checking access…