Know your Mac
Record the workstation baseline
Capture the macOS build, hardware architecture, computer identity, and available storage before changing the development environment.
10 minute lesson
A setup is easier to debug when you know where it started. Six months from now, a build will break after an update, and you will want to answer “what was on this Mac when it worked?” from a file, not from memory.
Before installing tools, record the operating-system build, processor architecture, host name, and free storage.
Capture four values
Run these commands in Terminal:
sw_vers
uname -m
scutil --get ComputerName
df -h /
Typical output on an Apple silicon Mac:
ProductName: macOS
ProductVersion: 15.5
BuildVersion: 24F74
arm64
Flavios-MacBook-Pro
Filesystem Size Used Avail Capacity Mounted on
/dev/disk3s1s1 926Gi 9.8Gi 704Gi 2% /
sw_vers describes macOS. The BuildVersion line matters more than the marketing version: two Macs can both say “15.5” and still run different builds.
uname -m reports the architecture of the current system. You will see arm64 on Apple silicon and x86_64 on an Intel Mac. Almost every install decision in this course depends on this value.
scutil --get ComputerName gives the machine a name you can reference in notes. df -h / tells you how much room the boot volume has left before you start pulling down SDKs and container images. Passing / keeps the output to one line; without it, df lists every mounted volume.
Store the baseline
Create a small baseline file in a private setup repository:
mkdir -p ~/setup
{ date; sw_vers; uname -m; scutil --get ComputerName; df -h /; } > ~/setup/baseline-2026-08-03.txt
Date the filename. After each macOS upgrade, write a new file instead of overwriting the old one. The sequence of baselines becomes a timeline you can line up against “when did this start failing?”.
One warning: keep serial numbers and other unique hardware identifiers out of a public repository. system_profiler SPHardwareDataType prints the serial number and provisioning identifiers. Collect it locally if you want, but treat that output as private.
The common mistake is skipping this lesson because the machine works today. The baseline costs one minute now. Reconstructing it later, from a machine that has already changed, is guesswork.
Lesson completed