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).