Foundations & Tooling
Terminal, git, and reading errors
Think of yourself as a pilot and the AI agent as a co-pilot. The co-pilot can fly the plane — but the instruments are yours. Terminal, logs, git history and process lists are your instrument panel. Pilots who can't read instruments don't get to complain when the plane does something weird.
This module is the instrument panel. No code theory, no algorithms — just the tools you will touch every single day of your vibe-coding life, learned by doing.
The terminal is a conversation, not a magic box
Every command is: program + arguments. `ssh user@host` says 'start the ssh program, connecting to that address'. `systemctl restart nginx` says 'tell systemd to restart nginx'. When something breaks on a server, the first place you look is the log — and on Linux, services log to journald:
# connect to a server
ssh root@203.0.113.10
# see what a service is doing RIGHT NOW (follow mode)
journalctl -u myapp -f
# restart it and check it came back
systemctl restart myapp
curl -I http://localhost:8080Git: the AI writes code, you manage history
The single most important habit when working with agents: commit after every completed task. A commit is a save point. When the agent's next change breaks everything, you don't panic — you revert to the save point. That's the whole trick.
# after every AI task that works: save
git add -A && git commit -m "feat: booking wizard validation"
# when the next change breaks everything: undo
git revert HEAD # safe undo that keeps history
# or, if it's uncommitted garbage:
git checkout -- . # throw away uncommitted changes
# read the story of the project
git log --oneline --graphYour real check: break a service on purpose, find the evidence in the logs, fix it, and prove it with a 200. After that, no error message will ever feel like a wall again.
test yourself
01A service on your server is down. Where do you look first?
02An agent just made 6 changes and one of them broke everything. The lazy undo:
03Which is the correct way to read a Python traceback?
the real check
Break a service on purpose. Find it in journalctl. Fix it. curl -I returns 200.
0 stamps earned·streak: 0 days
Signed out: progress lives in this browser. to carry it everywhere.
vibe-coder payoff
Every agent failure is a file, process, permission, or log line. After this module, they're all readable.