Skip to content

The 15-minute terminal and git primer

Oct 24, 2026

This is post 1 of Set up your Mac or Windows machine for vibe coding. It teaches the least you need to know to follow the rest without feeling lost — fifteen minutes, no installation. Used to a terminal? Skip to your track — everything here is optional for you.

The five words this series uses

Word Plain meaning
terminal The window where you type commands instead of clicking.
shell The program inside that window that reads your commands (you'll meet one called zsh).
prompt The short line of text the shell shows when it's waiting for you to type.
directory A folder. Same thing; programmers say "directory".
repository ("repo") A project folder whose every saved snapshot is recorded.

The prompt, and two commands to try right now

Open the terminal now — on a Mac: press ⌘-Space, type Terminal, press Enter. (Windows readers: your terminal arrives in post 3; read along anyway.)

You'll see something like:

nap@Macs-Mac mini ~ %

That's the prompt: username, computer name, where you are (~ means your home folder), and a cursor. When a tutorial says "run this", it means: type the text, press Enter. You never type the prompt itself.

Try your first two commands. ls lists what's in the folder you're in:

ls

cd changes directory — this one moves you into Documents:

cd Documents

Run ls again and you'll see your Documents files. cd ~ takes you home. That's genuinely most of what you need: the series never wanders further than these two plus a handful of copy-pasted install commands.

Git: four verbs, one undo button

git records snapshots of a project folder. You don't need to use git in this series beyond four verbs — but you need to recognize them, because they are also your safety net when an AI agent edits files:

Verb Command What it does
clone git clone <url> Downloads a project to your machine. This is how the example site arrives in post 4.
status git status Tells you which files changed since the last snapshot.
diff git diff Shows the actual changed lines, old vs new.
commit git commit -m "message" Saves a snapshot locally, labeled with your message.

Here's the part worth remembering: cloning in this series happens over SSH — the key-and-lock system from the overview — and the clone only works if your computer can prove to GitHub that it's you. That's why the track posts set up an SSH key before anything is cloned: the successful clone is your proof the key works.

And the safety rule that makes vibe coding calm: an agent's edits are just changes since your last commit. git status shows them, git diff shows what they are, and one command (git restore .) wipes them if you don't like them. Post 4 walks you through that with a real agent edit.

Read this once, remember it forever

  • When OpenCode asks "may I edit this file / run this command?", that's a permission prompt. It waits for your yes. Read it — you'll always be able to undo, but reading is cheaper.
  • Commands are picky: spaces, quotes, and capital letters matter. When something fails, first re-check you pasted the whole line.
  • Error messages are clues, not insults. Copy them exactly — every "When this goes wrong" box in this series was born from one.

Next: your track — macOS or Windows (WSL).