Module 00Neill's Vibe · Tier 1 · Basic Vibe Coding~7 min

What npm actually is

The error that started everything — and why it was never your fault.

01 · the scene

Day one. One word. A flat refusal.

Someone who'd never written a line of code opens a terminal, types the word he was told to type, and hits enter.

PowerShell — Neill's laptop — January 25
PS C:\> install
'install' is not recognized as an internal or external command,
operable program or batch file.
Neill51% · the terrain

"I typed what I was told. It said no. I didn't even know what npm was — that was literally my first question. I just wanted to build something."

Claude49% · the execution

"I should've said it faster: the command is npm install, and npm wasn't on the machine yet. You weren't being slow — the first five minutes of software are genuinely broken."

02 · the why

You don't build from scratch. You go shopping.

Every real app is built mostly from pre-made parts other people wrote and gave away — a thing that talks to Stripe, a thing that renders a PDF, a thing that handles dates. Hundreds of them. npm — Node Package Manager — is how you get them.

⌂

npm

the store + truck

A warehouse of millions of free building blocks, and the tool that fetches the ones you need.

≣

package.json

the shopping list

Small, human-readable. Names every part your app needs. This is your work — your intent.

▦

node_modules

the garage

The giant pile of parts the truck dropped off. You didn't write any of it. Fully disposable.

Node is the engine that lets JavaScript run on your computer instead of just in a browser — and npm ships with it. That's why nothing could be installed until Node existed: the tool that does the installing wasn't there yet.

03 · predict it

Before the answer — what's actually wrong?

You typed install and got 'install' is not recognized. Pick what's really happening:

Not quite. "Not recognized" isn't about your code or the network at all — the computer is saying it couldn't find a program by that name. Try again.
Exactly. "Not recognized" = the computer searched its list of program folders and found nothing called install. The command is npm install — and npm hadn't been installed yet. A can't-find-it problem, never a code bug.
04 · the walkthrough

What actually happens, in four frames.

install Node
step 1Install Node. npm comes bundled with it — now the "truck" exists.
npm install
step 2Run npm install. It reads package.json — your shopping list.
node_modules/
step 3The node_modules garage fills with every fetched part, automatically.
.gitignore
step 4.gitignore keeps that giant garage out of git — you can always re-fetch it.
05 · prove it · gate

Teach it back to unlock the payoff.

This is the rule of the whole course: you don't finish a module by watching it. You finish it by getting this right.

Why do we throw away node_modules but never package.json?
// one correct answer unlocks Module 00
Close, but that's not the load-bearing reason. Think about which one can be regenerated from the other.
That's it — and you just stated a principle that outlives npm: keep the source of truth, regenerate the derived artifact. Module unlocked. ↓
the durable idea

Keep the source of truth. Regenerate the derived artifact. The list is precious; the pile is disposable.

06 · factory payoff
⊘ locked — pass the teach-back to claim your first piece of the factory

Your first bit of the machine.

Not a certificate. A working part you'll use in every project from here on: a real starter .gitignore (so your garage never lands in git) and a .env.example (the safe way to share what secrets an app needs without sharing the secrets).

✓ Module 00 complete