上から順に実行すれば依存関係が満たされるように並べている。
セットアップは2通り。どちらでもよい。
- 手動: このREADMEを上から順に自分で実行する
- 自動: Claude Codeで
/setupを実行する。READMEをインプットにClaudeがセットアップを進め、対話コマンド・ブラウザ操作など手動が必要なところだけ依頼される
※/setupの実体は.claude/skills/setup/SKILL.mdだが、そこには進め方の方針しか書いていない。手順の正はこのREADMEなので、手順を変えるときはREADMEだけ直せばよい。
まっさらなMacでは以下だけ手動で行い、残りは/setupに任せる。
- macOS標準のSafariで「
iterm2をインストール」 - iterm2を開いて「Claude Codeをインストール」
- このリポジトリを取得して
claudeを起動し、/setupを実行
# ssh設定前なのでhttpsで取得(remoteはセットアップ中にsshへ切り替わる)
# ※初回のgit実行時にCommand Line Toolsのインストールを求められたらダイアログに従う
mkdir -p ~/work/github.com/makoto-developer
git clone https://github.com/makoto-developer/pc-setup.git ~/work/github.com/makoto-developer/pc-setup
cd ~/work/github.com/makoto-developer/pc-setup
# Claude Codeを起動して /setup を実行
claudeセットアップの流れ
iterm2をインストール- Claude Codeをインストール
- キーリピート設定変更
- macOS Systemの設定 <- 再ログインが必要な設定はここでまとめて反映しておく
brewをインストール- 作業ディレクトリを作成しておく
- 必要なツールをインストール
- Gitのバージョンを上げる
- Google Driveを入れる
- DeepLを入れる
- Google日本語入力の設定
- セキュリティソフト
- sshを設定
- ghコマンド(GitHub CLI)の認証
- GitHub APIトークン(Personal Access Token)の生成
- dotfilesを取得して、READMEに従って設定する
- 署名付きコミットの設定 <- git設定の共通部分はdotfilesにあるため、dotfilesの後にやる
- iterm
- バージョン管理ツール
- Elixir Phoenix インストール
- Dockerを入れる
- alt-tab-macosをソースからビルドしてインストール
- chromeの拡張で入れているもの
macOS標準のSafariでここ↓からiterm2をダウンロードしてインストール
※macOS純正のterminalはbrewがうまく機能しない場合があるのでiterm2を使う
iterm2を開いて、公式のネイティブインストーラで入れる(brew不要・依存なし)。
curl -fsSL https://claude.ai/install.sh | bash~/.local/bin/claudeにインストールされる- PATHが通っていなければ
export PATH="$HOME/.local/bin:$PATH"を追加する(dotfilesの.zshrcには設定済み)
動作確認
claude --version入力速度を速くする
defaults write -g InitialKeyRepeat -int 11
defaults write -g KeyRepeat -int 1
# 緊急時、元に戻すコマンド
defaults delete -g InitialKeyRepeat
defaults delete -g KeyRepeat再起動する
デフォルトから変更している設定。コマンドで変更できるものは↓でまとめて設定する。
(値は実機のdefaults readとmacos_defaults.jsonから採取したもの)
言語・Caps Lockなど再ログインが必要な設定が含まれるので、セットアップの序盤にやっておくと1回の再ログインで済み、以降の作業も快適になる。
# 言語を英語に変更(再ログインで反映)
defaults write -g AppleLanguages -array "en-JP" "ja-JP"
defaults write -g AppleLocale -string "en_JP"
# 時計: 秒を表示する
defaults write com.apple.menuextra.clock ShowSeconds -bool true
# 時計: 24時間表示にする
defaults write -g AppleICUForce24HourTime -bool true
# メニューバーにバッテリーの残量(%)を表示する
defaults -currentHost write com.apple.controlcenter BatteryShowPercentage -bool true
# メニューバーにボリュームを表示する(18: 常に表示)
defaults -currentHost write com.apple.controlcenter Sound -int 18
# Siriを無効化する
defaults write com.apple.assistant.support "Assistant Enabled" -bool false
defaults write com.apple.Siri StatusMenuVisible -bool false
# ホットコーナーをすべて無効化する(1: 何もしない)
for corner in tl tr bl br; do
defaults write com.apple.dock "wvous-${corner}-corner" -int 1
defaults write com.apple.dock "wvous-${corner}-modifier" -int 0
done
# Caps LockをCtrlに変更する(全キーボード対象、再ログインで反映)
# Src: 30064771129 = Caps Lock / Dst: 30064771300 = Control
defaults -currentHost write -g com.apple.keyboard.modifiermapping.0-0-0 -array \
'<dict><key>HIDKeyboardModifierMappingSrc</key><integer>30064771129</integer><key>HIDKeyboardModifierMappingDst</key><integer>30064771300</integer></dict>'
# Spotlightのショートカットをctrl + spaceに変更する(64: Spotlight検索, 262144: ctrlキー)
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 64 \
'<dict><key>enabled</key><true/><key>value</key><dict><key>type</key><string>standard</string><key>parameters</key><array><integer>32</integer><integer>49</integer><integer>262144</integer></array></dict></dict>'
# Finder検索ウィンドウ(cmd + option + space)は無効化する
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 65 \
'<dict><key>enabled</key><false/></dict>'
# シングルクォーテーション、ダブルクオーテーションの自動変換をオフにする
defaults write -g NSAutomaticQuoteSubstitutionEnabled -bool false
defaults write -g NSAutomaticDashSubstitutionEnabled -bool false
# スペルの自動変換をオフにする
defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false
defaults write -g NSAutomaticCapitalizationEnabled -bool false
defaults write -g NSAutomaticPeriodSubstitutionEnabled -bool false
# ファイヤーウォールをONにする
# ※sudoコマンドはパスワード入力が必要なためClaudeのセッションからは実行できない。自分のターミナルで実行すること
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# メニューバー・Dockへ反映
killall Dock SystemUIServer ControlCenter※言語・Caps Lock・Spotlightショートカットの変更は再ログイン(または再起動)で反映される
手動で設定するもの(コマンド化できない・しにくいもの)
- Mission Controlにある使わないアプリはひとつにまとめて削除
- Spotlightの検索対象をアプリケーションとシステム設定以外すべて無効化
- 数字の全角入力をオフにする -> 「Google日本語入力の設定」で対応する
ここ↓からbrewをインストールするか、コマンドでインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"mkdir -p ~/work/github ~/work/gitlab ~/opt ~/tmp~/workはGithubや個人開発のプロジェクトを管理する領域~/opt->Go製のコマンドなど、手動でダウンロードしてローカルで使う時に配置するディレクトリ~/tmp-> 中間ファイルや一時的な作業場でいつでも消えて問題ないディレクトリ
方針
- ツールは可能な限りbrewでインストール
- プログラミング言語はasdfで管理
- 例外として、バージョンを揃えた方がいいツールはasdf
- brewでインストールする前に必ずhomebrewホームページを見て開発元を確認 -> https://brew.sh/ja/
caskでインストール可能なappの一覧はこちら -> https://github.com/Homebrew/homebrew-cask/tree/master/Casks
brew update
# 不要なキャッシュ削除
brew cleanup必須アプリ
brew install --cask google-chrome
brew install --cask clipy
# alt-tabはbrewではなく自分のforkからビルドする(後述の「alt-tab-macosをソースからビルドしてインストール」参照)
brew install --cask rectangle
brew install --cask karabiner-elements
brew install --cask jetbrains-toolbox
# ※orcaのcaskは2026-09-01に無効化予定(Gatekeeper非対応のため)。入らなくなったら公式サイトから入れる
brew install --cask orca
brew install --cask visual-studio-code
brew install --cask notion
brew install --cask discord
brew install --cask openlens
brew install --cask postman
brew install --cask firefox
brew install --cask microsoft-edge
# dockerは後述の「Dockerを入れる」セクション参照brew install gh
brew install git-lfs
# terraform系はmiseで管理している(dotfilesのmise/config.toml参照)SQLのフォーマッターはこれに統一している
brew install sql-formatter必要であれば入れるアプリ
brew install --cask warp
brew install --cask slack
brew install --cask itsycal
brew install --cask figma
brew install --cask zoom
brew install --cask wireshark
brew install --cask microsoft-excel
brew install --cask microsoft-office
brew install --cask microsoft-openjdk
brew install --cask microsoft-outlook
brew install --cask microsoft-powerpoint
brew install --cask microsoft-teams
brew install --cask microsoft-word
brew install --cask android-file-transferCaskで入らないアプリ
Google Drive (https://workspace.google.com/products/drive/#download)
One Drive(https://www.microsoft.com/ja-jp/microsoft-365/onedrive/online-cloud-storage)
Kindle (caskが廃止されたのでMac App Storeからインストール)
強化版コマンド
# これがあれば統合エディタは不要
brew install nvim
# nvimのtreesitterパーサのビルドに必要
brew install tree-sitter-cli
# gitのCUIの見た目をよくしてくれる
brew install tig
# lessの代替
brew install bat
# リアルタイムなプロセス表示
brew install htop
# findの高速版
brew install fd
# grepを高速化、正確
brew install ripgrepコマンド
# ローカルで簡単にKubernetes Clusterを作るコマンド
brew install kindghqの設定で必要なコマンド
brew install ghq fzf hstrzshのプラグイン(dotfilesの.zshrcが読み込む)
# fish風の入力候補表示 / コマンドの色付け
brew install zsh-autosuggestions zsh-syntax-highlightingこちら↓を参考に
https://qiita.com/normalsalt/items/f200ba50363ebfd46df0
brew install gitインターネットでGoogle Drive macOSで検索してインストール。同期してバックアップファイルを取得する。
公式サイト↓からmacOS版をダウンロードしてインストール(caskではなく公式サイトから入れる)
インストール後の設定
- 起動してログインする
Cmd + Cを2回連続で押すと選択中のテキストが翻訳されることを確認する- 動かない場合はシステム設定 -> プライバシーとセキュリティ -> アクセシビリティでDeepLを許可する
公式サイト↓からダウンロードしてインストールし、入力ソースの切り替えと設定を行う。
- システム設定 -> キーボード -> テキスト入力 -> 入力ソースの「編集」を開く
- 「+」-> 日本語 -> 「Google日本語入力」の「ひらがな」「英数」を追加する
- macOS標準の「日本語 - ローマ字入力」を削除してGoogle日本語入力に一本化する
- メニューバーの入力アイコン -> 「環境設定」で↓を設定する
- 数字を半角で入力する(全角数字をオフ)
- スペースの入力を半角にする
※「macOS Systemの設定」の手動項目「数字の全角入力をオフ」はここで対応する
必要なら入れる
$ brew install git-delta
$ cd ~
$ mkdir .ssh
$ cd .ssh
$ ssh-keygen -t ed25519 -C "GitHub(makoto-developer)" -f ~/.ssh/id_github_20251006_ed25519
# Generating public/private ed25519 key pair.
# Enter file in which to save the key (/Users/user/.ssh/id_ed25519): id_github <<<githubを例に。ドメインごとにsshkeyを作成する。流用しない。>>>
# Enter passphrase (empty for no passphrase): <<<パスフレーズを設定(Githubでは設定することを推奨している)>>>
# Enter same passphrase again: <<<パスフレーズを設定(Githubでは設定することを推奨している)>>>
# Your identification has been saved in id_github
# Your public key has been saved in id_github.pub
# The key fingerprint is:
# The key's randomart image is:
# +--[ED25519 256]--+
# | |
# | |
# | |
# | |
# | |
# | |
# | .. |
# +----[SHA256]-----+
# コピーしてsshキーをgithubに登録
pbcopy < ~/.ssh/id_github_20251006_ed25519.pub
# ssh configを設定
touch ~/.ssh/config
vi ~/.ssh/config
# 中身は↓のように
Host github.com
HostName github.com
User <<<your name>>>
Port 22
IdentityFile ~/.ssh/id_github_20251006_ed25519
IdentitiesOnly yes
AddKeysToAgent yes
UseKeychain yes
# 疎通確認
ssh -T git@github.comssh-addだけだとssh-agentに載るだけで、再起動(agentの終了)で消えてしまいセッション限りになる。
macOSのKeychainにパスフレーズを保存して恒久的に省略する。
前提: ~/.ssh/configに↑のAddKeysToAgent yesとUseKeychain yesが入っていること。
# パスフレーズをKeychainに保存(初回に1度だけパスフレーズを入力)
# ※`ssh-add -K`は非推奨になったので`--apple-use-keychain`を使う
ssh-add --apple-use-keychain ~/.ssh/id_github_20251006_ed25519
# 登録できたか確認
ssh-add -l再起動後もUseKeychain yesによりKeychainからパスフレーズが自動で読まれるため、以降入力は不要。
ghはbrewでインストール済みの前提(必要なツールのセクション参照)。認証するとPR・issue・APIの操作がCLIからできるようになる。
gh auth login
# 対話で聞かれる項目は↓のように選ぶ
# ? Where do you use GitHub? -> GitHub.com
# ? What is your preferred protocol for Git operations? -> SSH
# ? Upload your SSH public key to your GitHub account? -> Skip (ssh設定のセクションで登録済みのため)
# ? How would you like to authenticate GitHub CLI? -> Login with a web browser
# 表示されるワンタイムコードをコピーしてブラウザで入力して認証する動作確認
# 認証状態を確認
gh auth status
# 自分のリポジトリが見えればOK(privateも見える)
gh repo list --limit 5APIやCIからGitHubを操作する時に使うトークン。権限とリポジトリを絞れるFine-grained tokenを使う。
- https://github.com/settings/personal-access-tokens を開く (GitHub -> Settings -> Developer settings -> Personal access tokens -> Fine-grained tokens)
Generate new tokenをクリック- 以下を設定して生成
Token name: 用途がわかる名前にする(例:macos-api-20251006)Expiration: 期限を必ず設定する(無期限にしない)Repository access: 必要なリポジトリだけに絞るPermissions: 必要最小限だけ許可する(例: リポジトリ操作ならContents: Read and write)
- 生成されたトークン(
github_pat_で始まる文字列)をコピー- この画面を閉じると二度と表示されないので注意
トークンの取り扱い
- 平文のままファイルに置かない、リポジトリにコミットしない
- 漏れた場合は https://github.com/settings/personal-access-tokens から即Revokeする
CLIから使うだけなら、トークンを自分で管理せずghに任せる方が楽で安全。
# ghコマンドの認証が済んでいれば、トークンが必要な場面では↓で取り出せる
gh auth tokenAPI呼び出しの例
curl -H "Authorization: Bearer <YOUR_TOKEN>" https://api.github.com/userghq・zshなどの設定はdotfilesにあるので、clone系の作業の前にやっておく。
リポジトリはghq管理下に置き、~/dotfilesはシンボリックリンクにする。
# ghqのクローン先を設定(dotfilesの.gitconfigにも同じ設定があるが、初回はまだ無いので手で設定する)
git config --global ghq.root '~/work'
ghq get -p makoto-developer/dotfiles
ln -s ~/work/github.com/makoto-developer/dotfiles ~/dotfiles
# README.mdをみて設定をする(zsh/git/nvim等のsymlinkを張る)GitHubのコミットにVerifiedバッジを付ける。GPG鍵を別途作らず、認証で使っているSSH鍵をそのまま署名に使う(git 2.34以降)。
git設定の共通部分(gpg.format ssh、commit.gpgsign等)はdotfilesの.gitconfigで設定済みなので、ここでやるのは鍵の指定と登録だけ。
~/.git_user(dotfilesのセクションで作成済み)に署名鍵を追記する
[user]
signingkey = ~/.ssh/id_github_20251006_ed25519.pub
- GitHubへ署名用の鍵として登録する。認証(Authentication Key)とは別枠なので、同じ鍵でも改めて登録が必要。
ブラウザで登録する場合:
# 公開鍵をコピー
pbcopy < ~/.ssh/id_github_20251006_ed25519.pub- https://github.com/settings/keys を開く ->
New SSH key->Key typeをSigning Keyにして登録
ghコマンドで登録する場合:
# 鍵登録のスコープを追加(ブラウザでワンタイムコードを入力する)
# ※Claudeセッションなど非対話の実行では -h github.com が必須
gh auth refresh -h github.com -s admin:ssh_signing_key
# 署名用として鍵を登録
gh ssh-key add ~/.ssh/id_github_20251006_ed25519.pub --type signing --title "<マシン名> signing"
# 登録できたか確認
gh api /user/ssh_signing_keys -q '.[].title'- ローカル検証用のallowed_signersを作成する(dotfilesの
.gitconfigが参照している)
echo "$(git config user.email) $(cat ~/.ssh/id_github_20251006_ed25519.pub)" > ~/.ssh/allowed_signers動作確認
git commit --allow-empty -m "test: signed commit"
git log --show-signature -1
# "Good git signature"が出ればOK
git push
# GitHubのコミット履歴でVerifiedバッジが付いていればOKcmd + enterで最大化しないようにする
Keys -> Key Bindings -> +ボタン -> 'CMD + ENTER' is disabled`
brew install miseinstall
# バージョン定義はdotfilesのmise/config.tomlで管理している
ln -sn ~/dotfiles/mise ~/.config/mise
mise install以下のコマンドが使えるかチェック
elixir --version
node -v
go version
rustc -V
terraform version公式サイトを参考にインストールする(https://hexdocs.pm/phoenix/installation.html)
mix archive.install hex phx_newコマンドが使えるか確認
mixlima やめた
Rancher Desktopやめた
普通のDocker(Docker Desktop)でいい
# cask名は`docker`から`docker-desktop`に改名された
brew install --cask docker-desktop※このインストールはCLIリンク作成でsudoのパスワード入力を求められる。Claudeのセッションからは実行できないので、自分でiTermの別タブを開いて実行すること。インストール後はDocker.appを一度起動して初回の権限許可を済ませる。
動作確認(docker compose・docker CLIはDocker Desktopに同梱されている)
docker --version
docker compose version※非商用利用であればDocker Desktopは無料。商用利用はライセンス条件を確認する。
alt-tabはbrew(cask)ではなく、自分のfork(privateリポジトリ)からビルドして使う。
前提
- Xcodeをフルインストールしておく(Command Line Toolsだけでは不可)
- ssh設定とghqの設定(dotfiles参照)が済んでいること(privateリポジトリのため)
# クローン
ghq get -p makoto-developer/alt-tab-macos
cd ~/work/github.com/makoto-developer/alt-tab-macos
# ローカル用の自己署名証明書を生成(ビルドのたびに権限確認されるのを回避)
scripts/codesign/setup_local.sh
# ビルド(またはalt-tab-macos.xcodeprojをXcodeで開いてビルド)
xcodebuild -project alt-tab-macos.xcodeproj -scheme Debug
# ビルドされた.appをApplicationsに配置して起動
# (出力先はビルドログ末尾のBUILD SUCCEEDED付近に表示されるDerivedDataのパスを確認)※依存はvendor/配下に同梱されているので、clone後そのままxcodebuildできる
脆弱性が心配なのでほとんど何も入れてない