macOS vs Windows
たいていのAIツール群 — CLIエージェント、スクリプト、チュートリアル — は、こっそりUnixシェルを前提にしている。それが開発環境の現実的な選択を形づくる。
- macOS は Unixネイティブだ。本物のPOSIXシェルを備え、開発世界の他の人々が使うのと同じ
git、ssh、curlを同梱している。たいていのエージェントとスクリプトは「ただ動く」。 - Windows も十分に有能だが、もっともなめらかな道は WSL2 (Windows Subsystem for Linux) だ。Windowsの中の本物のLinux環境である。ネイティブのPowerShellの癖と戦うのではなく、WSL2の中でAIコーディングをやろう。
- Linux はこの一家の三番目の一員で、この目的に関してはほぼ正確にmacOSのように振る舞う——それ自体がUnixなので、同じエージェントとスクリプトが手を加えずに走る。すでにその上にいるなら、あなたは準備万端だ。
これらすべての間で作業をポータブルに保つための、いくつかの落とし穴。
- パス —
/home/you/project対C:\Users\you\project。バックスラッシュとドライブレターはスクリプトを壊す。WSL2はこのほとんどを回避する。 - 改行コード — WindowsはCRLF、UnixはLFを使う。不一致はノイズの多い差分や壊れたシェルスクリプトを生む。
core.autocrlfと.gitattributesを設定してLFに正規化しよう。 - 大文字小文字の区別 — macOSとWindowsはしばしば
File.tsとfile.tsを同じものとして扱う。LinuxとCIはそうしない。だからローカルでビルドできるコードがクラウドで失敗しうる。importとファイル名の大文字小文字は一貫させよう。 - 権限 — Unixのファイルモード(
chmod +x)はWindowsにきれいに対応しない。
どちらを使うにせよ、AIにはコマンドをポータブルに保つよう頼もう — フォワードスラッシュ、LFの改行、一貫した大文字小文字。そうすればそのスクリプトは、あなたのノートPCでもCIでも同じように走る。AIがあなたの持っていないツールを前提にした一行コマンドを渡してきたら、いちばん速い直し方は、コンテキストファイルにあなたのOSとシェルを教えて、AIに推測をやめさせることであることが多い。