Context file for Claude Code to configure a complete macOS development environment.
- macOS 12 (Monterey) or later
- Admin access
- Internet connection
# Install Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"# Add Homebrew to PATH (Apple Silicon - M1/M2/M3)
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"# Verify installation
brew --version# Install core tools
brew install git gh curl wget jq yq tree htop# Install modern CLI replacements
brew install bat eza ripgrep fzf tldr# Install Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"# Install zsh plugins
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting# Install Nerd Fonts
brew tap homebrew/cask-fonts
brew install --cask font-fira-code-nerd-font font-jetbrains-mono-nerd-fontAdd these lines to ~/.zshrc:
# Plugins (find the plugins line and update it)
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
# Aliases
alias cat="bat"
alias ls="eza --icons"
alias ll="eza -la --icons"
alias tree="eza --tree --icons"# Set identity (REPLACE with actual values)
git config --global user.name "Your Name"
git config --global user.email "your@email.com"# Set defaults
git config --global core.editor "code --wait"
git config --global init.defaultBranch main# Useful aliases
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.st status
git config --global alias.lg "log --oneline --graph --all"# Login to GitHub
gh auth login# Verify
gh auth status# Generate SSH key (REPLACE email)
ssh-keygen -t ed25519 -C "your@email.com"# Start ssh-agent and add key
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519# Copy public key to clipboard
pbcopy < ~/.ssh/id_ed25519.pub
# Then add to GitHub: Settings → SSH Keys → New# Install fnm
brew install fnm# Add to ~/.zshrc
echo 'eval "$(fnm env --use-on-cd --shell zsh)"' >> ~/.zshrc
source ~/.zshrc# Install latest LTS
fnm install --lts
fnm default lts-latest# Verify
node --version
npm --version# Install global packages
npm install -g pnpm yarn# Install pyenv
brew install pyenv# Add to ~/.zshrc
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(pyenv init -)"' >> ~/.zshrc
source ~/.zshrc# Install Python
pyenv install 3.12
pyenv global 3.12# Install uv (fast package manager)
curl -LsSf https://astral.sh/uv/install.sh | sh# Verify
python --version
uv --version# Install Docker Desktop
brew install --cask docker# After opening Docker Desktop, verify
docker --version
docker run hello-world# Install VS Code
brew install --cask visual-studio-code# Install essential extensions
code --install-extension ms-python.python
code --install-extension dbaeumer.vscode-eslint
code --install-extension esbenp.prettier-vscode
code --install-extension bradlc.vscode-tailwindcss
code --install-extension eamodio.gitlens
code --install-extension github.copilot# Terminal
brew install --cask iterm2
# Window management
brew install --cask rectangle
# Spotlight replacement
brew install --cask raycast
# System monitor
brew install --cask stats
# Database client
brew install --cask tableplus# Google Cloud SDK
brew install --cask google-cloud-sdk# Initialize gcloud (interactive)
gcloud init# Kubernetes CLI
brew install kubectl# Kubernetes context manager (optional)
brew install kubectx# API testing
brew install --cask postman# Tunneling for local development
brew install ngrok/ngrok/ngrok# Configure ngrok (requires free account at ngrok.com)
ngrok config add-authtoken YOUR_AUTH_TOKEN# MongoDB GUI
brew install --cask mongodb-compassRun these commands to verify everything is installed:
echo "=== Verification ===" && \
brew --version && \
git --version && \
gh --version && \
node --version && \
npm --version && \
python --version && \
uv --version && \
docker --version && \
code --version && \
echo "=== All OK ==="- Restart terminal to apply all changes
- Open Docker Desktop and complete setup
- Configure VS Code settings sync (if desired)
- Import any dotfiles from backup
To save your setup for future use:
brew bundle dump --file=~/Brewfile --forceTo restore on a new machine:
brew bundle install --file=~/Brewfile