[{"data":1,"prerenderedAt":225},["ShallowReactive",2],{"content-/mac-dev-environment-bootstrap":3,"all-pages-for-dir":203,"related-/mac-dev-environment-bootstrap":204,"og-image-/mac-dev-environment-bootstrap":224},{"id":4,"title":5,"body":6,"category":182,"concepts":183,"description":184,"extension":185,"meta":186,"navigation":187,"ogImage":183,"path":188,"project_name":189,"published":190,"publishedAt":191,"seo":192,"source":193,"stem":194,"tags":195,"todo":183,"unpublished":190,"updatedAt":183,"__hash__":202},"pages/2026-08/2026-08-02/mac-dev-environment-bootstrap.md","WindowsからMacへ開発環境を移す初日にやったこと",{"type":7,"value":8,"toc":166},"minimark",[9,13,22,27,30,34,41,47,50,53,56,60,63,66,69,73,76,80,83,86,90,93,96,99,103,106,117,120,124,127,130,140,144,147,151,154,157,163],[10,11,5],"h1",{"id":12},"windowsからmacへ開発環境を移す初日にやったこと",[14,15,16,17,21],"p",{},"新しいMacBook Proに向かって最初に打ったのは ",[18,19,20],"code",{},"hello"," の5文字で、返ってきたのは401だった。OAuthのトークンが失効しているのでログインし直せ、と。ここから一日かけて、Windowsでやっていることがこのマシンでどこまで再現できるのかを確かめることになった。",[23,24,26],"h2",{"id":25},"claude-code本体のバージョン","Claude Code本体のバージョン",[14,28,29],{},"手元のバージョンは2.1.186のままだと思い込んでいた。最新はたしか2.200台のはずなので上げてほしい、と頼んだ。調べさせたら2.1.220で、native installer経由ですでに最新だった。上げる作業は発生しなかった。",[23,31,33],{"id":32},"ユーザーレベルの設定はgithubと繋がっているか","ユーザーレベルの設定はGitHubと繋がっているか",[14,35,36,37,40],{},"git_repo配下にリポジトリを並べたい。ただしその前に確かめることが2つある。このMacからGitHubに手が届くのか、そしてユーザーレベルの ",[18,38,39],{},"~/.claude"," がリモートと同期しているのか。Windowsで書き溜めたスキルとルールがこちら側に無ければ、以降の作業でいつもの手順を踏めない。cloneより先に、そちらを見させた。",[14,42,43,44,46],{},"見てみると、",[18,45,39],{}," はWindowsと同じGitHubのプライベートリポジトリにすでに繋がっていて、56コミット遅れていた。取り込んで最新にした。これでWindows側で追加したスキルとルールがこのMacでも効く状態になった。",[23,48,49],{"id":49},"どのリポジトリを持ってくるか",[14,51,52],{},"mdx-playgroundとeurekapu-nuxt4は即決だった。ほかに直近で動かしていたものが思い出せなかったので、GitHubのpush日時を並べさせつつ、その裏で2つのcloneを走らせた。この2つ以外で直近1週間に動いていたのは、wordpress-migration、nvidia-guidance-watcher、kindle-screenshot-appだった。",[14,54,55],{},"音声入力で「TBSのリポジトリもcloneしといて」と言った。turso-replicasのことと解釈された上で、違ったら言ってくれ、と確認が返ってきた。合っている。book-knowledge-baseのDB基盤なので文脈でも通る。kindle-screenshot-appとbook-knowledge-baseも合わせてcloneさせた。book-knowledge-baseをMacで動かすのは今回が初めてで、Mac版で何がどこまで要るのかは自分でも分かっていなかった。",[23,57,59],{"id":58},"_1passwordとcliの連携","1PasswordとCLIの連携",[14,61,62],{},".envの正本は1Passwordに置いてある。ローカルのファイルは、そこから書き出した派生物として扱う。",[14,64,65],{},"Macには1Passwordのデスクトップアプリが入っていた。opコマンドのほうはHomebrewで入れさせた（2.38.1）。ところがアプリとCLIの統合がオフで、CLIからアカウントが見えない。ここだけは自分の手が要る。設定の「開発者」タブでスイッチを1つ入れた。",[14,67,68],{},"スイッチを入れる前に一度、自分でダウンロードして置くのかと聞いている。書き出しはopコマンドで自動でやるので、こちらがやるのはスイッチを入れるところだけでいい、と返ってきた。",[23,70,72],{"id":71},"pnpm-installで引っかかったところ","pnpm installで引っかかったところ",[14,74,75],{},"ある設定の置き場所が、package.jsonからpnpm-workspace.yamlへ移っていた。pnpm 11ではそちらに書く仕様になっている。pnpmが生成したテンプレートがあったので、3つとも承認に書き換えさせた。",[23,77,79],{"id":78},"tursoへの繋ぎ方","Tursoへの繋ぎ方",[14,81,82],{},"book-knowledge-baseがlocalhost:3100で立った。APIからは実際の蔵書データ（専門書）が返ってきている。",[14,84,85],{},"繋ぎ方を確認した。ローカルにDBファイルは持っていない。MacのNuxtサーバーから東京リージョンのTursoクラウドDBへHTTPで直接クエリを投げている。クラウド接続だろうという理解で合っていた。",[23,87,89],{"id":88},"envは誤ってpushされないか",".envは誤ってpushされないか",[14,91,92],{},"1Passwordから書き出した.envは、gitignoreされているはずである。はずである、で済ませたくなかった。この環境を組むのは今日が初日で、cloneしてきたリポジトリ側にも同じ確認が要る。",[14,94,95],{},"git_repo配下の全リポジトリで、.env系ファイルの有無、gitignoreの設定、追跡状況、過去のコミット履歴までを一括で調べさせた。中身は読ませていない。",[14,97,98],{},"結果は6リポジトリすべてクリーンだった。turso-replicasの.envはgitignore済み。追跡中の.envは1つもなく、履歴を遡っても出てこない。",[23,100,102],{"id":101},"ocrはapple-gpuで動くのか","OCRはApple GPUで動くのか",[14,104,105],{},"この日いちばん読めなかったのがこれだった。yomitokuはWindowsのGPUで回していて、Macで動くかどうかは調べたことがない。",[14,107,108,109,112,113,116],{},"READMEにはMPS（Apple GPU）の記載がなかった。そこでソースコードとIssueという一次情報に当たらせた。",[18,110,111],{},"--device mps"," は通る。Windowsと同じ構成（",[18,114,115],{},"~/git_repo/yomitoku-ocr"," にuv環境）を作らせて、PyTorchを含む依存をバックグラウンドで入れた。",[14,118,119],{},"心配していたのは、むしろmacOS 26（Tahoe）でのMPSの問題のほうだった。これは入ったPyTorch 2.13で解消済みで、CPUフォールバックは要らなかった。初回はモデルのダウンロードも込みになる。テスト画像を1枚通すと、「減価償却費は損金に算入できる。」が一字違わずMarkdownになって返ってきた。Apple GPUでの処理時間は合計4.2秒だった。",[23,121,123],{"id":122},"dropboxからファイルをどう取るか","Dropboxからファイルをどう取るか",[14,125,126],{},"OCRにかけるPDFがこのMacにはまだ無い。Dropboxに置いてある。アプリを入れて同期させるより、ブラウザで開いてダウンロードするほうが軽い。ログインは自分でやればいい。",[14,128,129],{},"「Chrome DevToolsを立ち上げて」と頼んだら、Claude in Chromeが起動して拡張機能のページが開いた。ついでにChromeの初回セットアップも回ってきた。デフォルトブラウザの設定などは飛ばしてよい、という案内つきだった。そちらではなく、Windowsと同じChrome DevTools MCPを使ってほしい、と言い直した。",[14,131,132,133,136,137,139],{},"登録の形はWindowsと変えた。Windowsでは既存のChromeに繋ぐ ",[18,134,135],{},"--autoConnect"," を使っているが、このMacのChromeはさっき入れたばかりで、ログイン済みのプロファイルが無い。MCPが専用プロファイルのChromeを自前で立ち上げる標準方式で登録させた。この方式なら一度Dropboxにログインしておけば、そのプロファイルに残る。普段使いのChromeに繋ぎたくなったら、あとから ",[18,138,135],{}," 方式に切り替えられる。wsEndpointのUUID直書きは、Windows側のルールどおり避けさせた。",[23,141,143],{"id":142},"そのセッションでは出てこなかったmcp","そのセッションでは出てこなかったMCP",[14,145,146],{},"登録したMCPは、そのセッションには読み込まれなかった。項目が出てこない。ここで粘るより次のセッションに渡したほうが早いと判断して、引き継ぎドキュメントを書かせた。置き場所は作業用リポジトリのmemo配下、日付のディレクトリである。冒頭に復帰プロンプトを置いてあるので、次を開いたらそれを貼れば続きから再開できる。",[23,148,150],{"id":149},"codexのアプリはどこにあるか","Codexのアプリはどこにあるか",[14,152,153],{},"最後に、ChatGPTのデスクトップアプリの所在を聞いた。入っていなかったので、インストールして起動させた。初回起動なので、アカウントへのログインは自分で済ませることになる。ターミナル版のCodex CLIのほうは0.141.0がすでに入っていて、ChatGPTアカウントでのログインも済んでいた。コードのレビューや相談はそちらでも回せる。",[23,155,156],{"id":156},"初日に動いたもの",[14,158,159,160,162],{},"Windowsと同じスキルとルールが効く ",[18,161,39],{},"、localhost:3100で開く蔵書ブラウザ、Apple GPUで4.2秒のOCR。ここまではこのMacで動いた。.envについては、書き出した1本もcloneしてきた6リポジトリも、pushされる経路が無いことまで確かめた。",[14,164,165],{},"残っているのは、Chrome DevTools MCPが次のセッションで本当に繋がるかどうかと、その先のDropboxからPDFを引いてOCRに通すところまでの一本道である。明日いちばん最初に効くのは、引き継ぎドキュメントの冒頭に置いた復帰プロンプトになる。",{"title":167,"searchDepth":168,"depth":168,"links":169},"",2,[170,171,172,173,174,175,176,177,178,179,180,181],{"id":25,"depth":168,"text":26},{"id":32,"depth":168,"text":33},{"id":49,"depth":168,"text":49},{"id":58,"depth":168,"text":59},{"id":71,"depth":168,"text":72},{"id":78,"depth":168,"text":79},{"id":88,"depth":168,"text":89},{"id":101,"depth":168,"text":102},{"id":122,"depth":168,"text":123},{"id":142,"depth":168,"text":143},{"id":149,"depth":168,"text":150},{"id":156,"depth":168,"text":156},"dev",null,"MacBook Proに開発環境を移した初日の記録。ユーザーレベルの設定をGitHub経由で同期し、リポジトリをclone、1Passwordから.envを書き出してTursoクラウドDBに繋ぎ、.envのgitignoreを全リポジトリで監査し、OCRツールがApple GPUで動くところまで確かめた。","md",{},true,"/mac-dev-environment-bootstrap","claude-code-tools",false,"2026-08-02T00:00:00.000Z",{"title":5,"description":184},"make-diary","2026-08/2026-08-02/mac-dev-environment-bootstrap",[196,197,198,199,200,201],"Mac","開発環境構築","Claude Code","1Password","Turso","OCR","roUlu1o5MLig0AWtjN6RywtJxxYQViieCB5wHz_OWP8",[],[205,208,212,216,220],{"title":206,"path":207,"publishedAt":191},"2026年8月2日の開発日記 - WindowsからMacへ環境を移した一日","/2026-08-02-diary",{"title":209,"path":210,"publishedAt":211},"蔵書DBを棚卸しして専門書の抜けを洗い出し、簡易デューデリジェンス支援スキルを実装した","/bookshelf-db-stocktake-and-dd-skill","2026-08-05T00:00:00.000Z",{"title":213,"path":214,"publishedAt":215},"蔵書データベースの運用整備と、.envの正本を1Passwordに置く判断","/book-db-ops-and-secret-source-of-truth","2026-07-31T00:00:00.000Z",{"title":217,"path":218,"publishedAt":219},"Kindle 5冊を yomitoku-kindle で並列パイプラインに流して1時間で完走させた話","/yomitoku-kindle-batch-import","2026-06-19T00:00:00.000Z",{"title":221,"path":222,"publishedAt":223},"裁断した実務書をOCRしてTursoのDBに横串検索できる本棚を毎日10冊単位で増やす","/book-knowledge-base-import-batch-workflow","2026-06-16T00:00:00.000Z","https://log.eurekapu.com/og/blog/mac-dev-environment-bootstrap.png?v=2026-08-02T00%3A00%3A00.000Z&title=Windows%E3%81%8B%E3%82%89Mac%E3%81%B8%E9%96%8B%E7%99%BA%E7%92%B0%E5%A2%83%E3%82%92%E7%A7%BB%E3%81%99%E5%88%9D%E6%97%A5%E3%81%AB%E3%82%84%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8&author=Kei%20Komatsu&sig=c0221faf6c39ffb9",1786233133787]