I’m setting up a new Mac for coding and I’m overwhelmed by all the tools and apps available for developers. I want to know which Mac developer apps are truly essential for productivity, debugging, testing, and workflow automation. What are you using daily, what do you recommend avoiding, and why? Real-world suggestions from experienced Mac developers would really help me build an efficient setup.
Hey, here’s the stuff I keep seeing recommended again and again, plus what I actually ended up using on my own Mac. This is kind of the “starter pack” if you do any dev work or heavy file shuffling.
Core Developer Tools You Pretty Much End Up Installing Anyway
If you plan to write code on macOS for more than a weekend, these are what everyone eventually caves and installs.
Homebrew
Homebrew is the thing you install before you install anything else.
It is a free, open source package manager you use from the terminal. With it, you can grab tools like Node, Python, PostgreSQL, Redis, and countless little command line utilities without hunting random installer .pkg files all over the internet.
Example stuff it makes stupidly easy:
brew install nodebrew install pythonbrew install --cask iterm2
New Mac? Log in, install Homebrew once, run a script with your list of packages, and you basically recreate your dev environment in a few minutes instead of spending an evening clicking “Next” on installers.
iTerm2 / Warp
The default macOS Terminal is… fine. But if you live in the shell all day, you want something better.
iTerm2 and Warp are two of the usual suspects:
- Tabs, splits, profiles, hotkeys, better search, and proper customization
- Easily tie in stuff like Oh My Zsh, custom prompts, and plugins
- Cleaner workflow for multiple projects at once (e.g., split panes: server logs on one side, running tests on the other)
Warp leans more into a “modern” terminal vibe with extra productivity features, while iTerm2 is the classic, battle-tested choice.
Tower / Fork / GitHub Desktop
These are Git clients with an actual UI, for those moments when your brain refuses to parse git log --graph --oneline.
You still can (and should) use Git in the terminal, but GUI tools are nice for:
- Visualizing complex branch histories
- Staging hunks or individual lines
- Comparing branches before merging
- Quickly reviewing changes across the repo
Rough vibes:
- Tower: Polished, feature-packed, more “enterprise” feel.
- Fork: Lightweight, fast, very popular among devs who want speed & clarity.
- GitHub Desktop: Simple and friendly, good if your life is mostly on GitHub.
File & Workflow Utilities (Where Your Sanity Gets Saved)
The Finder is okay right up until you have to juggle a bunch of folders, remote servers, and hidden files, then it suddenly feels like it’s 2005.
Commander One (Dual-Pane File Manager)
If you grew up on Norton Commander, Total Commander, or anything similar, Commander One will feel comforting in a slightly nerdy way.
What it does well:
-
Two-Pane Layout
You get source on one side, destination on the other. Copying, moving, and comparing folders is way less error-prone when both places are always visible. No bouncing back and forth between windows. -
Remote Connections (Pro Version)
Supports FTP, SFTP, WebDAV, and more right inside the file manager.
If you deal with servers, you can browse and move files there almost like they were local, without launching a separate FTP client. -
Hidden Files Toggle
One quick switch and you can see.env,.gitignore,.config, and all the dotfiles macOS normally hides. Super useful when you’re debugging something that mysteriously “isn’t there.”
Other Utilities That Quietly Do A Ton Of Work
These aren’t strictly “dev tools,” but they glue your workflow together.
Raycast / Alfred
Spotlight is fine for opening apps, but it stops being enough once you start wanting your launcher to actually do things.
Raycast and Alfred both replace the default Spotlight search bar with something much more capable:
- Launch apps, open files, search the web
- Run custom scripts and commands
- Integrate with stuff like Docker, GitHub, Jira, and more
- Control system settings, clipboard history, snippets, etc.
Raycast has a big extension ecosystem and feels very modern. Alfred has been around forever and is famous for its Powerpack workflows, which let you chain actions together and really automate repetitive junk.
If you stick with macOS for any length of time, you will eventually want at least:
- Homebrew to install things
- A better terminal (iTerm2 or Warp)
- A Git client you like looking at
- A dual-pane file manager if you do serious file operations
- A launcher like Raycast or Alfred to reduce the amount of clicking you do each day
That combo covers about 90% of what I see people recommend over and over in dev and Mac threads.
If you want a simple “don’t think, just install this” list, here’s what I’d actually call essential on a new Mac dev setup, without rehashing everything @mikeappsreviewer already laid out.
1. One main editor, not five
Pick one primary editor and really learn it:
- VS Code
Good for: web, JS/TS, Python, Go, basically everything.
Key extensions:- ESLint / Prettier
- GitLens
- REST Client or Thunder Client
- Docker
- Test runner for your language
If you’re doing heavy native or Apple platform work, add:
- Xcode for macOS / iOS
- Android Studio if you touch Android at all
You don’t need Nova, Sublime, Atom, and a ritual sacrifice. One editor + one platform IDE is enough.
2. Core CLI stack (on top of Homebrew)
I’ll slightly disagree with the “just install Homebrew and vibes” approach. Brew is great, but lock down a minimal list so your machine doesn’t rot over time.
From a clean terminal:
brew install \
git \
wget \
gh \
jq \
fzf \
ripgrep \
direnv
Why:
gitbecause the Apple one lags behindjq+ripgrep+fzfsave hours searching logs and codedirenvfor auto‑loading.envper project so you’re not exporting variables by hand like it’s 2010
3. Real debugging tools
You can survive without some fancy launchers, but good debugging / testing tools are huge:
HTTP & API debugging
- HTTPie (CLI) via
brew install httpie - Insomnia or Postman GUI client
Great for poking at REST / GraphQL, saving requests, sharing with teammates.
Database inspectors
- TablePlus or Postico if you touch Postgres/MySQL
Helps you actually see what your app did to the DB instead of guessing.
Browser dev
- Chrome or Firefox Dev Edition for better DevTools
- Install React / Vue / Svelte devtools extension if relevant
4. Containers and local services
Even for solo projects, it is worth learning one environment tool properly:
- Docker Desktop
Run Postgres, Redis, local SMTP, etc. in containers instead of polluting your Mac with random services.
Create a simpledocker-compose.ymlper project and stop relying on “worked on my machine” magic.
If Docker Desktop feels too heavy, look into OrbStack or Colima later. Don’t overcomplicate day 1.
5. Workflow & files (where I actually agree with @mikeappsreviewer)
I’ll double down on one thing they mentioned:
- Commander One as your dual‑pane file manager
For dev work, Commander One is better than Finder when:
- You’re constantly jumping between
src,dist,logs, and config folders - You need to see hidden files like
.env,.git,.dockerby default - You’re pushing / pulling stuff over SFTP to a server
For big refactors or reorganizing a repo, having two panes visible is a lot less error‑prone than juggling Finder windows. If you ever used Total Commander, it’s that vibe on macOS.
6. Minimal “quality of life” extras
Try to keep this list short at first:
-
Rectangle
Free window snapping. Forget dragging and resizing like an animal. -
Raycast or Alfred
I disagree slightly that they’re inevitable. You can live on Spotlight, but:- Clipboard history alone is worth it
- Direct project launcher (type project name, hit enter, boom, VS Code opens right there)
-
1Password or similar
For API keys, tokens, SSH passwords. Better than.txtfiles on Desktop. Yes, people still do that.
7. Git: terminal first, GUI second
I’m a bit more opinionated here than @mikeappsreviewer:
- Learn the basics in terminal:
git status git diff git add -p git log --oneline --graph --decorate git switch -c feature/xyz - Then add a GUI like Fork or Tower purely for:
- Visualizing ugly merges
- Reviewing big diffs
- Interactive rebase without a headache
The mistake is starting only in a GUI and then being helpless over SSH.
8. Testing & automation
This depends on your stack, but in general:
- Use whatever test framework is “standard” in your ecosystem (Jest, pytest, PHPUnit, etc.).
- Add npm / make / justfile scripts like:
Then you just runtest test:watch lint format devnpm run testorjust testinstead of memorizing random command chains.
For Mac‑specific automation later:
- Makefile or just
Script all your setup:just bootstrapinstalling Homebrew packages, copying dotfiles, etc.
9. Opinionated “bare minimum” setup
If I had to start from a blank Mac today and keep it lean:
- Homebrew
- VS Code + language extensions
- Xcode or Android Studio only if needed
- Commander One
- Docker Desktop
- Rectangle
- Raycast or Alfred
- Git, gh, jq, fzf, ripgrep, direnv
- TablePlus or Postico
- Insomnia or Postman
That’s it. Everything else is “nice to have” and can be added when you feel the pain it solves, not before.
If you share your main language / stack (web, mobile, backend, data, etc.), people here can probably trim that list down even more and suggest 1–2 stack‑specific tools so you don’t end up with a Franken‑Mac full of stuff you never open.
If you install everything people recommend in threads like this, you’ll end up with a science experiment, not a dev machine.
@mikeappsreviewer and @caminantenocturno already nailed the “here’s the usual stack” part, so I’ll just zoom in on what actually turns into daily use vs “installed once and forgot.”
1. Pick tools you will touch every single day
For a fresh Mac used mainly for coding:
-
One editor:
- VS Code if you’re doing web / backend / scripting
- Xcode only if you actually ship iOS/macOS stuff
Don’t install 4 editors “to try later”. You won’t.
-
One terminal:
- iTerm2 or Warp, fine. I actually think the stock Terminal is okay at the start. Upgrade when you feel it limiting you, not before.
-
One launcher:
- Raycast or Alfred is worth it purely for clipboard history and fast project launch. That feature alone pays for itself instantly.
2. Stuff that looks optional but is secretly essential
This is where I differ a bit from the others:
-
Dual pane file manager
People underrate this so much. For dev work, Finder is… tolerable until:- You’re refactoring folder structures
- Moving build artifacts / logs around
- Constantly showing hidden files like
.env,.git,.docker
Here, Commander One is actually one of the most practical Mac developer apps.
It gives you: - True dual pane view, so src on left, dist or logs on right
- Quick toggle for hidden files so dotfiles are just “there”
- Built in support for SFTP and remote stuff in the Pro version
If your workflow touches servers or a lot of file reorgs, Commander One quietly becomes that app you leave open all day. For “Mac developer apps for productivity and workflow,” it’s honestly more impactful than yet another code theme.
-
Window management
Rectangle or similar. Boring, but when you have editor + terminal + browser + Commander One open, snapping windows into place saves real time.
3. Debugging / testing: keep it boring
Instead of 5 shiny tools:
-
One HTTP client
- Insomnia or Postman
Pick one, save your collections, live there.
- Insomnia or Postman
-
One DB viewer
- TablePlus or Postico
You want to see what your migrations and code did without writing random SQL every time.
- TablePlus or Postico
-
Browser DevTools
Chrome or Firefox Dev Edition is enough. Add React/Vue devtools only if your project uses them. Don’t pre install every framework addon just because.
4. Stuff that sounds “pro” but can wait
- Docker: yes, important, but if you are new or your project is small, start with just one container (like Postgres) rather than going full microservices cosplay.
- Git GUIs: nice to have, but learn the CLI basics first. Then add Fork / Tower for visualizing ugly merges.
5. How I’d actually set up a lean dev Mac today
From zero, focused on not drowning in apps:
- VS Code
- Homebrew with a very short list (git, jq, ripgrep, fzf)
- iTerm2 later, after I hit Terminal limits
- Raycast or Alfred for launcher + clipboard
- Commander One as the main file manager for dev stuff
- Insomnia or Postman
- TablePlus
- Docker Desktop only when a project actually needs it
- Rectangle for window snapping
Everything else, install only when you hit a specific pain point. If you cannot answer “what problem does this solve for me today?”, skip it for now.
That way you end up with a Mac that feels like a tool, not a plugin museum.
If you read what @caminantenocturno, @viaggiatoresolare and @mikeappsreviewer wrote and still feel “ok, but what do I actually install first,” here’s a different angle: think in roles instead of apps.
You only need one good tool per role to stay sane.
1. Editor & Language Stack
Everyone already covered VS Code / Xcode / terminals, so I’ll just add:
- Avoid installing every runtime immediately.
Start with only what your current project needs: for example- backend:
git,nodeorpython,postgres - frontend:
node,pnpmoryarn
Add others when a project forces you to, not “just in case.” This keeps Homebrew from becoming a graveyard.
- backend:
I slightly disagree with the idea of postponing a terminal upgrade. If you are going to live in it, set up a nice one early so you learn on the thing you’ll keep (iTerm2 or Warp). Context switching terminals later is shallow but annoying.
2. File management: where Commander One actually matters
People are underestimating how much time gets burned in Finder click hell.
Commander One is worth calling out specifically, since you asked about productivity / workflow and it fits that more than it fits “nerd toy”:
Pros
- True dual pane layout
Source folder on the left, destination on the right. Great when refactoring, moving repos, comparing build outputs. - Fast hidden files access
Dotfiles,.env,.git,.dockershow up easily, no fiddling with Terminal or Finder shortcuts. - Keyboard driven workflow
If you like using arrows, function keys, and quick actions, it feels closer to classic dev tools than Finder’s clicky interface. - Remote connections in Pro
SFTP, FTP, etc inside the same UI, so you handle local and server files in one place.
Cons
- Learning curve if you grew up on Finder only
The dual pane paradigm feels “busy” at first. Some people bounce off it. - Pro features cost money
Remote connections and some advanced bits are paywalled. If you never touch servers, you might not care. - Overkill for very casual use
If you just open a repo once a week, plain Finder plus a hidden files shortcut is probably enough.
Competitors here are more like Path Finder, ForkLift, or just living in the terminal with fzf/fd. For pure day to day dev, I find Commander One + a terminal to be a nicer combo than trying to train Finder to be something it is not.
3. Debugging & testing
Others suggested HTTP clients and DB GUIs. I’d refine that:
- Pick one HTTP tool and set it up per project
Create named environments (dev / staging / prod) with variables so you stop copying tokens from random notes. - For DB, prefer tools that support multiple engines
Something like TablePlus reduces cognitive load if you jump between Postgres, MySQL, SQLite.
Do not install 3 different SQL clients. That is one of those invisible “death by friction” things.
4. Workflow glue & focus
Instead of more “power tools,” grab things that reduce mental noise:
- Window manager
Rectangle or similar, already mentioned by others. Important once you start pairing editor + browser + terminal + Commander One. - Clipboard manager
If you choose Raycast or Alfred, enable clipboard history immediately. That is one of the highest impact settings for coding.
I actually think launchers are more important than a GUI Git client at the beginning. You use them constantly, while Git GUIs are more situational.
5. What I’d install in your place, in this order
If I had a blank Mac today and wanted a tight, non-bloated dev setup:
- Homebrew
- VS Code (or Xcode only if you are actually in Apple ecosystem dev)
- iTerm2 or Warp
- Commander One as my “dev file manager”
- One HTTP client (Insomnia or Postman)
- One DB client (TablePlus or similar)
- Raycast or Alfred with clipboard history on
- Rectangle for window snapping
- Docker Desktop only when a project really needs containers
@caminantenocturno, @viaggiatoresolare, and @mikeappsreviewer already gave you a solid shopping list. The key is to prune: one app per job, install when a real pain appears, and let something like Commander One handle most of the boring file and server juggling so you can stay in your editor longer.




