For workshop assistants. One script installs everything a student needs: Python 3.14 · Node.js · Git · GitHub CLI · Supabase CLI · Vercel CLI · Claude Code.
Student prep guide → VIBE_CODING_WORKSHOP_GUIDE.md
macOS — open Terminal (Cmd+Space → type Terminal → Enter), paste this one line, press Enter:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/bigai-dev/vc-installation-script/main/script/fix-vibecode-mac.sh)"Windows — on GitHub, green Code button → Download ZIP → Extract All. Open the script folder, right-click run-fixer.bat → Run as administrator → Yes.
Takes 5–10 min. When the final table is all green, the student runs the 5 commands it prints, then closes the window.
Done = all green — what the table means + sign-in steps
| Row says | Means |
|---|---|
Installed / AlreadyInstalled / PathFixed |
good |
Skipped |
diagnose mode or skipped Claude Code |
Failed |
read the note: line under the row |
Then the student signs in and sets their name:
gh auth login # GitHub.com → HTTPS → web browser, paste the code
supabase login # browser → Authorize
vercel login # browser → GitHub
git config --global user.name "Their Name"
git config --global user.email "their.email@gmail.com"
Smoke test — every line must print a version (paste in the same window):
python --version
node --version
npm --version
git --version
gh --version
supabase --version
vercel --version
claude --version
macOS: use python3 --version for the first line.
On the day — Wi-Fi, timing, and what's normal
- Use a phone hotspot, not venue Wi-Fi. 30 laptops downloading at once kills venue Wi-Fi. Switch back once the table is green.
- Silent for >10 min = stuck → Ctrl+C, re-run. Under 3 min = it's just downloading, wait.
- Mac, first run: an Xcode installer may pop up (5–15 min) and Homebrew asks for the Mac password once — both normal. The cursor won't move while typing the password.
- Scripts are safe to re-run anytime.
When it breaks — quick fixes + where the logs are
| Symptom | Fix |
|---|---|
| "command not found" in smoke test | Close the window, open a fresh one. |
Red claude / supabase / vercel |
Fresh window, re-run. |
| Mac: blocked / "unidentified developer" | Use the one-line method above — it never gets blocked. |
| Mac: "no formula python@3.14" | brew update, then re-run. |
| Windows: no admin popup | Their account isn't an admin — needs IT. |
| Anything else | Close everything, open a fresh window, re-run. |
Logs: Windows %TEMP%\fix-vibecode-*.log · macOS /tmp/fix-vibecode-*.log
PATH backups: Windows %USERPROFILE%\path-backups\ · macOS ~/dotfile-backups/
"command not found" even after it installed — what PATH does + manual fix
Plain version: PATH is the list of folders the computer searches when you type a command. A tool can install perfectly but not be on that list yet — so the terminal says "command not found." The script fixes this for you, but the change only kicks in in a brand-new window.
The fix 9 times out of 10: close the terminal completely, open a fresh one, run the smoke test again.
What the script does automatically:
- Finds where each tool actually landed and adds that folder to your PATH.
- On Windows it edits PATH the safe way — never
setx, which silently corrupts a long PATH. - Skips folders that don't exist and removes duplicate entries.
- Backs up your PATH first, so it's always reversible (locations above).
Still missing after a fresh window? Two hands-off options:
Easiest — re-run the script. It finds every tool, fixes PATH, and backs it up first. Nothing to type.
Or paste this one block — it finds all the tool folders for you, adds the missing ones to PATH (yours only, no duplicates), and tells you what it added. Then close the window and open a fresh one.
Windows — PowerShell (this is one single line — paste it and press Enter):
$add=@(); $py=(Get-ChildItem "$env:LOCALAPPDATA\Programs\Python\Python3*","C:\Python3*","C:\Program Files\Python3*" -Directory -EA 0 | Select-Object -Last 1).FullName; if ($py) { $add += $py, "$py\Scripts" }; $add += "C:\Program Files\nodejs","C:\Program Files\Git\cmd","C:\Program Files\GitHub CLI","$env:APPDATA\npm"; $u=[Environment]::GetEnvironmentVariable("Path","User"); foreach ($f in $add) { if ((Test-Path $f) -and (($u -split ';') -notcontains $f)) { $u="$u;$f"; Write-Host "Added: $f" } }; [Environment]::SetEnvironmentVariable("Path",$u,"User"); Write-Host "Done - close this window and open a fresh one."macOS — Terminal:
for d in /opt/homebrew/bin /usr/local/bin /Library/Frameworks/Python.framework/Versions/3.14/bin; do
[ -d "$d" ] && ! grep -qF "export PATH=\"$d:\$PATH\"" ~/.zshrc && echo "export PATH=\"$d:\$PATH\"" >> ~/.zshrc && echo "Added: $d"
done
source ~/.zshrc
echo "Done - close this window and open a fresh one."Options & fallbacks — diagnose mode, manual run
Check only, no install: macOS — add -- --diagnose-only to the end of the one-liner. Windows — -DiagnoseOnly. (Skip Claude Code: --skip-claude-code / -SkipClaudeCode.)
Mac, prefer double-click: double-click script/run-fixer.command. First time macOS blocks it → System Settings → Privacy & Security → scroll down → Open Anyway (Monterey: System Preferences → Security & Privacy → General). Once per Mac.
Windows manual run: PowerShell as admin →
powershell -NoProfile -ExecutionPolicy Bypass -File "C:\path\to\script\fix-vibecode.ps1"Script won't run / antivirus deleted it — install everything by hand
Two ways to put the 7 tools on a machine without the script. Try the paste method first — there's no file on disk for antivirus to quarantine.
Method 1 — paste the commands (dodges antivirus)
Windows — PowerShell as administrator. Run block 1, then close the window and open a fresh one, then run block 2:
winget install -e --id Python.Python.3.14
winget install -e --id OpenJS.NodeJS.LTS
winget install -e --id Git.Git
winget install -e --id GitHub.clinpm i -g supabase vercel @anthropic-ai/claude-codeIf the Python line can't find
3.14, change it to3.13and run that one line again.
macOS — Terminal. Block 1 installs Homebrew + the base tools, block 2 finishes:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install python@3.14 node git gh supabase/tap/supabasenpm i -g vercel @anthropic-ai/claude-codeIf antivirus also blocks the npm i -g line, tell it to Allow once (or pause protection for 10 min), then re-run that line.
Method 2 — download the installers yourself (install Node before the npm tools)
| Tool | Where |
|---|---|
| Python 3.14 | https://www.python.org/downloads/ (Windows: tick "Add to PATH") |
| Node.js LTS | https://nodejs.org/en/download |
| Git | https://git-scm.com/downloads |
| GitHub CLI | https://cli.github.com/ |
| Supabase | macOS brew install supabase/tap/supabase · Windows npm i -g supabase |
| Vercel | npm i -g vercel |
| Claude Code | npm i -g @anthropic-ai/claude-code |
Sign in with the commands under Done = all green above.
Before each cohort — clean-VM test
Run docs/MANUAL-VM-TEST.md on a clean VM (~30 min — has caught real bugs). Found a bug? Open an issue with the log, a screenshot of the final table, and the OS version.