~/VibeHandbook
Free PDF

Chapter 07 · 10

macOS vs Windows

Most AI tooling — agents, scripts, tutorials — quietly assumes a Unix . That shapes the practical choice of dev environment.

  • macOS is Unix-native. It ships with a real POSIX shell and the same git, ssh, and curl the rest of the dev world uses. Most agents and scripts "just work."
  • Windows is fully capable, but the smoothest path is WSL2 (Windows Subsystem for Linux): a real Linux environment inside Windows. Do your AI coding inside WSL2 rather than fighting native PowerShell quirks.
  • Linux is the third member of the family and behaves almost exactly like macOS for these purposes — it is Unix, so the same agents and scripts run unchanged. If you're already on it, you're set.

A few gotchas to keep your work portable across all of them:

  • Paths/home/you/project versus C:\Users\you\project; backslashes and drive letters break scripts. WSL2 sidesteps most of this.
  • Line endings — Windows uses CRLF, Unix uses LF. Mismatches cause noisy diffs and broken shell scripts; set core.autocrlf and a .gitattributes to normalize to LF.
  • Case-sensitivity — macOS and Windows often treat File.ts and file.ts as the same; Linux and do not, so code that builds locally can fail in the cloud. Be consistent with casing in imports and filenames.
  • Permissions — Unix file modes (chmod +x) don't map cleanly onto Windows.

Whichever you're on, ask the AI to keep commands portable — forward slashes, LF endings, consistent casing — so its scripts run the same on your laptop and in CI. When the AI hands you a one-liner that assumes a tool you don't have, the fastest fix is often to tell it your OS and shell in the context file so it stops guessing.

Want it offline?

Download the whole book as a PDF or EPUB — free.