Class 3 — Save points
Block 1 · Theory · 2026-09-15
What you need
- Last week's folder, with your bug #1 fix and your
ONBOARDING.mdanswers. - A GitHub account (university email). No account yet? Create one at github.com now.
- GitHub Desktop, installed and signed in. Windows: it installs git for you, nothing else needed.
- uv from last week. Tests run with
uv run pytest tests/test_bugs.py; no install step, pytest is in the project.
In class
Git in four words: repo, commit, branch, push. Save points for code, all through GitHub Desktop buttons, no terminal.
- Your folder becomes a repo. GitHub Desktop → Add local repository → Create a repository here → Publish repository, name it
splititortiny-crm, keep it private. Last week's fix is your first commit. One repo per person. - Bug #0, one line, one commit. Read the report, run the red test, follow the click, fix, green, commit, push. Live on SplitIt first, then on your repo.
- A spec from the PM. What
specs/feature-1asks for, and the tests intests/test_feature_1.pythat say when it is done. Run them before you build: four red tests is your to-do list. - Feature 1, live. Branch → red tests → prompt Codex with the spec → read the diff → green → check it in the app → commit, push, pull request, merge.
Your turn
- SplitIt: bug
issues/000-group-title.md, thenspecs/feature-1-balances.mdon a branch calledfeature-1-balances. - Tiny CRM: bug
issues/000-lead-count.md, then fixissues/002-overdue-order.md(the spec says so at the top), thenspecs/feature-1-overdue.mdon a branch calledfeature-1-overdue.
Copies of the bug reports and specs are in the materials below; the ones that count are the files inside your own repo.
When git is confusing
- Wrong branch? Current branch → switch. GitHub Desktop offers to bring your changes along; say yes.
- Broke a file? Right-click it in GitHub Desktop → Discard changes.
- Broke the data?
uv run python seed.py, same as last week. - An error you don't understand? Screenshot it, ask Codex to explain it, then ask us.
Homework — before Class 4
- Finish feature 1 on its branch: tests green, merged, pushed.
- Your repo is the one that counts now. Not the ZIP, not the folder. Push before you close the laptop, every time.
- Read
specs/feature-2andissues/002in your repo. That is Class 4.
Nothing to hand in. In Class 4 the TA will ask to see your GitHub page: the feature-1 branch and a merged commit.