← All Articles

Setting Up Mac for Development [May 2026]

The current toolkit and the AI coding stack I'd put on a fresh Mac today. A year after my 2025 setup.

By Aman Kumar2026-05-183 min read
Setting Up Mac for Development [May 2026]

Mostly on a MacBook Pro now, with a Mac Mini (M4, 16GB, 512GB) at the desk. Very different setup from 2025.

A year is a long time in 2026. The AI coding tools I was running in May 2025 are mostly gone from my dock. Here's the toolkit I'd put on a fresh Mac today.


🧰 Core tools

  • Homebrew. Still the package manager for everything.
  • zsh + oh-my-zsh. Config stays small; fast startup matters.
  • iTerm2. Still my daily terminal. Ghostty is on the list to try.
  • fnm. Rust-based Node version manager. Drop-in replacement for nvm, ~10x faster shell startup.
  • bun for anything where Node feels slow.
  • uv. Python package and project manager. Quietly replaced pip and virtualenv for me.
  • pyenv. Kept around for legacy Python projects.

🤖 The 2026 AI coding stack

This is the section that aged fastest from the 2025 post, so it gets the most attention.

I used Windsurf for about 5 months, then Cursor for another 5 or 6. Both were good. Both got replaced once terminal-native agents got good enough. Today I use three:

  • Codex for long, delegated work. Parallel worktrees, multiple agents on different branches, while I do something else. Best when I want to come back to a finished result and review it.
  • Claude Code is my default for anything I want to stay in the loop on. Lives in the repo, plays well with MCP servers, fits the "agent operating inside my project" mode.
  • Antigravity. I open it sometimes as an IDE to see the code an agent produced, scroll the diff, or make a focused manual edit. Not my daily editor.

Setting up a Mac today and only want to install one? Start with Claude Code.


📦 Daily drivers

  • Raycast. Launcher and snippet expansion. The thing I open most after the browser.
  • Rectangle. Window snapping.
  • Flycut. Clipboard manager.
  • VS Code. Plain editor when I don't want an agent in the way.
  • Wispr Flow. Voice-to-text everywhere. Faster than typing for messages and prompts.
  • Notion. Work and personal notes.
  • Tailscale. Private mesh between my machines.
  • Chrome. Default browser.
  • Slack, Discord, WhatsApp for comms.
  • Figma. Design and the occasional spec.
  • Spotify for music.

⚙️ CLI toolbelt

Stuff I install on every machine and then forget I'm using:

brew install gh ripgrep tmux tig htop jq pandoc \ ffmpeg imagemagick whisper-cpp nmap ngrok \ stripe cloudflare-wrangler render asc gemini-cli
  • gh for GitHub from the terminal.
  • rg for search. Replaced grep in my muscle memory.
  • tmux, tig for sessions and a sane Git browser.
  • whisper-cpp for local transcription.
  • Cloud CLIs (wrangler, render, stripe, asc, etc.). Install the ones you actually deploy to.

🧠 Personal shell ergonomics

A few aliases and functions from my .zshrc that pull their weight:

# Project jumps alias pj="cd ~/projects" # npm shortcuts alias nd="npm run dev" alias nb="npm run build" alias ni="npm install" # Claude Code, too useful to type out alias c="claude" alias cladue="claude" # because I mistype it constantly # Quick git worktree on a new branch wt() { local branch="$1" local dir="../$(basename "$PWD")__${branch//\//-}" git worktree add -b "$branch" "$dir" && cd "$dir" }

The wt helper became essential once I started running multiple agents in parallel. Each one gets its own worktree.


🧷 System tweaks

Faster keyboard repeat:

defaults write -g InitialKeyRepeat -int 15 defaults write -g KeyRepeat -int 1

Disable auto-correct (it fights you in the terminal):

defaults write -g NSAutomaticSpellingCorrectionEnabled -bool false

🗝 Bonus setup

Xcode Command Line Tools (Git, compilers, etc.):

xcode-select --install

Git identity:

git config --global user.name "Your Name" git config --global user.email "[email protected]"

SSH key for GitHub:

ssh-keygen -t ed25519 -C "[email protected]" pbcopy < ~/.ssh/id_ed25519.pub

Claude Code with MCP servers. Once Claude Code is installed, wire up the MCP servers you actually use (Linear, GitHub, Playwright, etc.).

Project folder:

mkdir ~/projects

📚 Resources