three tools, then it runs.
Your copy is on your computer now, but a folder of code is a recipe, not a running site. This step installs what reads the recipe: git, Node.js, and npm. It is the most terminal-heavy step in the whole setup, and every command is copy, paste, Enter. At the end, your site opens in your browser, running on your own computer, before you have created a single account or key.
(The terminal is only a place to type instructions. Every command in this guide comes with a line saying what it does.)
🧭 What You Are Installing
| What it does | Mac | Windows | |
|---|---|---|---|
| git | Tracks and syncs your changes from the terminal. Claude Code uses it too | Command Line Tools | Git for Windows |
| Node.js 24 | Runs your site | nvm | fnm |
| npm | Downloads the parts your copy is built from | Comes with Node.js | Comes with Node.js |
You will not download Node.js from its website. Instead, you install a small version manager (nvm on a Mac, fnm on Windows). Your copy names the exact version it needs in a file called .nvmrc, and the version manager reads it. When your copy moves to a newer version someday, you run one command instead of reinstalling anything.

✓ Success: your site runs.
this is a work in progress
🍎 On a Mac
Open the Terminal app (press ⌘ + Space and type "terminal"). First, git. macOS installs it as part of Apple's Command Line Tools, and nvm needs them too. A window pops up: click Install and wait a few minutes. If the terminal says they are already installed, move on.
# Install Apple's Command Line Tools (includes git)
xcode-select --install
# Check it worked: prints a version number
git --versionNext, nvm. Paste the installer, then quit Terminal completely and open it again so it picks up the change:
# Install nvm (the Node version manager)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash
# After reopening Terminal: prints a version number
nvm --versionNow move into your copy and let nvm read .nvmrc. Type cd and a space, drag your project folder onto the Terminal window to fill in the path, and press Enter:
# Move into your copy (drag the folder in after typing "cd ")
cd ~/Documents/Projects/your-repo
# Install and switch to the Node version your copy asks for
nvm install
# Make it the default for every new Terminal window
nvm alias default 24
# Prints v24 and a version number
node -v🪟 On Windows
Open PowerShell from the Start menu (not as administrator). Install git and fnm with Windows' built-in installer, winget, then close PowerShell and open it again:
# Install git and fnm (the Node version manager)
winget install Git.Git
winget install Schniz.fnm
# After reopening PowerShell: both print version numbers
git --version
fnm --versionfnm has to load every time PowerShell starts. Windows blocks that by default, so allow it for your account (answer Y if asked), add fnm to your PowerShell profile, then close and reopen PowerShell once more:
# Let your own PowerShell profile run
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
# Create your profile if it does not exist, then load fnm from it
if (!(Test-Path $PROFILE)) { New-Item $PROFILE -Force }
Add-Content $PROFILE 'fnm env --use-on-cd --shell powershell | Out-String | Invoke-Expression'Now move into your copy and let fnm read .nvmrc:
# Move into your copy (use your own path)
cd $HOME\Documents\Projects\your-repo
# Install and switch to the Node version your copy asks for
fnm install
fnm use
# Prints v24 and a version number
node -v📦 Download Your Copy's Parts
Your copy is built from hundreds of open-source parts, listed in package.json. One command downloads all of them. It takes a minute or two (about 80 seconds on a recent Mac):
# Still inside your copy
npm ci- Why npm ci and not npm install? It installs the exact versions your copy was tested with (they are listed in package-lock.json) and changes nothing in your files. GitHub Desktop should still say "No local changes" afterwards
- Yellow lines that start with npm warn install-scripts are expected. npm lists packages that ship setup scripts and asks you to review them. Your copy installs and runs fine without changing anything
- A line that starts with npm error is a real problem. Copy the whole message and ask your LLM
▶️ See It Run
# Start your site on your own computer
npm run dev
# Then open this in your browser:
# http://localhost:3000
# To stop it, click the terminal and press Ctrl + CYour site opens with the unparty homepage. It is running entirely on your computer: nobody else can see it, and nothing you do here affects anything online. A few things look unfinished, and that is expected:
- A "Configure your application" box — that is Clerk, the sign-in service, running on temporary keys so you can start right away. You connect your own in the sign-in step
- Some sections are empty — they read from your database, which you create in the next step
- "Unable to initialize music player" — music is an optional step later
- A small "Issues" badge in a corner — development notes from Next.js. Visitors to your live site never see it
“Before you change a single word, it runs. Now it is yours to change.”
— unparty-app
🤖 Ask Your LLM
I am installing the tools for a Next.js project on a [Mac / Windows]
computer. I ran this command: [paste it]. The terminal printed
this: [paste all of it]. What went wrong, and what should I run next?
(In Claude Code, inside your copy)
Read .nvmrc and package.json. Which Node version does this project
need, and what does "npm run dev" actually start? Explain, don't
change anything.✅ You Are Done When
- git --version and node -v both print versions, and node starts with v24
- npm ci finished without any npm error lines
- npm run dev served your site at localhost:3000, and you saw the homepage
- GitHub Desktop still says No local changes
Next is Create your database, which fills in those empty sections. If you ever close everything and come back, you only need two commands inside your copy: nvm use (or fnm use on Windows), then npm run dev.
“Copy, paste, Enter. That is the whole trick.”
— unparty-app