underlay
module 002–3h

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:

bashthe three commands that answer 80% of 'why is it down?'
# 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:8080

Git: 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.

bashsave points, undo, and seeing the story
# 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 --graph

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