Skip to content

Mac apps for developers: terminals, editors, databases

Fifteen development apps for macOS with a ready brew install command for each: Homebrew itself, four terminals, three editors, container runtimes, database clients, API clients and Git front-ends.

Your Mac
Homebrew in /opt/homebrew

Every app on this page installs with one brew install line, and that is the point — a new Mac goes from empty to working in a single scripted pass rather than fifteen trips to fifteen download pages. Homebrew comes first because everything else depends on it.

Terminals: the choice is about rendering, not features

The four terminals here differ mostly in how they draw text. macOS ships Terminal.app, which is fine and slow. iTerm2 is the long-standing default upgrade with split panes and a deep preferences tree. Warp and Ghostty are the newer generation: Ghostty renders on the GPU and stays deliberately minimal, Warp adds block-based command history and AI features that some people want and others specifically do not.

The honest summary is that all four run your shell correctly and the difference you will notice daily is latency while scrolling and how much configuration you are willing to do.

Editors and the containers under them

VS Code, Cursor and Zed are the same category with different bets: VS Code has the extension ecosystem, Cursor is VS Code with AI editing built in, Zed is a from-scratch editor written in Rust that prioritises latency. All three read the same projects, so switching costs less than it looks.

For containers, OrbStack and Docker Desktop solve the same problem with a real difference in resource use — OrbStack starts faster and idles lighter, which matters on a laptop. Both provide the docker CLI, so tooling does not care which one is running.

Database and API clients

TablePlus and DBeaver split along the usual line: TablePlus is fast and native with a paid licence, DBeaver is free, Java-based and supports more exotic engines. Postman and Bruno split the same way on API clients, with the added wrinkle that Bruno stores collections as plain files in your repository instead of syncing them to a vendor account — which is the deciding factor for teams that care where their request definitions live.

Every entry below lists the licence type, the brew token, and the alternatives worth comparing before you commit.

Homebrew

open sourceDevelopment Editor's pick

The macOS package manager

Official site

Homebrew is the package manager no developer Mac goes without. It installs CLI tools (formulae) and GUI apps (casks) with one command, neatly under /opt/homebrew. Upgrading everything is a single brew upgrade. Every app in this directory is annotated with its brew token.

// What it is for
  • One command installs and updates everything: CLI tools (formulae) and GUI apps (casks) alike
  • A Brewfile describes the whole machine as text — a new Mac comes up with a single brew bundle
  • brew upgrade updates everything installed through brew instead of a dozen separate updaters
  • Everything lives in one prefix and uninstalls as cleanly as it installed
// Common questions

Should I run brew with sudo?

No, and it matters: Homebrew deliberately installs into a directory your user owns. Installing formulae under sudo breaks file ownership and produces permission errors you will have to repair by hand later.

What is the difference between a formula and a cask?

A formula is a command-line program built for Homebrew (git, jq, ripgrep). A cask is a regular macOS app from the vendor that Homebrew downloads and drops into /Applications. The commands differ: brew install git versus brew install --cask raycast.

iTerm2

open sourceDevelopment

Terminal replacement

Official site

iTerm2 is the terminal people install right after Homebrew. Split panes, instant history search, per-project profiles, text triggers, and a drop-down hotkey window. Actively maintained and still the benchmark despite the wave of new terminals.

// Install
brew install --cask iterm2
// What it is for
  • Split the window into panes horizontally and vertically — several sessions on one screen without tmux
  • Instant search across the entire scrollback, not just the visible screen
  • Per-project profiles: each with its own working directory, colours, and launch command
  • A drop-down hotkey window that appears over any app with one keystroke
// Common questions

How is iTerm2 better than the built-in Terminal.app?

Panes, scrollback search, profiles, output triggers, a drop-down window, and configurable shortcuts. The stock Terminal does tabs and colours — that is where the list ends.

Is iTerm2 really slow with heavy output?

On a flood of tens of thousands of lines it does lose to GPU-rendered terminals like Ghostty. In everyday work the difference is invisible; in build logs it is not.

// Alternatives:

Warp

freemiumDevelopment

AI-powered block terminal

Official site

Warp rethinks the terminal: every command and its output is a separate block you can copy or share by link. Built-in AI generates commands from plain-language descriptions, and completion works like an IDE. Requires an account; the free tier covers most needs.

// Install
brew install --cask warp
// What it is for
  • Every command and its output is a block: collapse it, copy it whole, or share it by link
  • Editing a command feels like a normal text field, with a real cursor and mouse selection
  • Built-in AI writes commands from plain-language descriptions and explains other people's one-liners
  • Completion suggests flags as you type — IDE-style, not bash-style
// Common questions

Does Warp require an account?

Yes, signing in is mandatory — the main reason some developers stay on iTerm2 or Ghostty. The free tier covers personal use.

Do my commands leave the machine?

AI features send requests to the cloud by definition. Settings expose separate telemetry and AI switches — if your company policy forbids that, a fully local terminal is the honest choice.

// Alternatives:

Ghostty

open sourceDevelopment

Fast native terminal

Official site

Ghostty is a terminal by Mitchell Hashimoto (HashiCorp co-founder): GPU rendering, native macOS interface, and sane defaults that need no config file. It launches instantly, sips memory, and requires no account. A great pick if Warp feels bloated.

// Install
brew install --cask ghostty
// What it is for
  • A native macOS interface: real system tabs, panes, and full-screen mode, not a web wrapper
  • GPU rendering keeps scrolling through huge logs smooth
  • Configured by a single text file that lives in your dotfiles next to .zshrc
  • Starts almost instantly and barely uses memory in the background
// Common questions

Ghostty or iTerm2?

Ghostty is faster and feels more like a native app; iTerm2 goes deeper on configuration with triggers, tmux integration, and profiles that run launch commands. Pick Ghostty for speed, iTerm2 for depth.

Where does Ghostty keep its config?

In ~/.config/ghostty/config — a plain text file of key-value pairs. Keep it in your dotfiles repo and every new Mac gets your familiar terminal right after the clone.

// Alternatives:

Visual Studio Code

freeDevelopment

The standard code editor

Official site

VS Code is the de facto standard: a marketplace with thousands of extensions, a built-in debugger, terminal, Git, and remote development over SSH/containers. Free and runs everywhere. The only downside is Electron, barely noticeable on Apple Silicon.

// Install
brew install --cask visual-studio-code
// What it is for
  • There is an extension for every language and framework — the largest plugin ecosystem of any editor
  • Remote SSH and Dev Containers: edit locally while the code runs on a server or in a container
  • Built-in git tooling and a debugger close the daily loop without switching apps
  • Settings and extensions sync across machines through your account
// Common questions

How does VS Code differ from VSCodium?

VSCodium is the same source built without Microsoft telemetry and without the proprietary marketplace. Extensions come from an open registry, and some proprietary plugins are simply unavailable there.

Is VS Code heavy on an older Mac?

It is an Electron app: a couple hundred megabytes per window plus separate processes for language servers. With 8 GB of RAM and a dozen extensions you will feel it — Zed is the lighter option.

// Alternatives:

Cursor

freemiumDevelopment

VS Code with an AI agent

Official site

Cursor is a VS Code fork with deeply integrated AI: the agent edits multiple files at once, runs terminal commands, and uses the whole repository as context. All VS Code extensions and settings migrate in one click. The free tier limits top-model requests.

// Install
brew install --cask cursor
// What it is for
  • A VS Code fork: settings, themes, and extensions carry over on first launch
  • The AI sees the whole project as context, not just the open file
  • Edits arrive as a diff you can accept or reject piece by piece
  • Codebase chat answers with links to specific files and lines
// Common questions

Do I have to pay for it?

There is a free tier with a limited number of model requests. The paid plan lifts the limits and unlocks stronger models — the free allowance goes quickly if you lean on AI all day.

Does my code go to the cloud?

Yes, model requests are sent to their servers. A privacy mode stops your code being retained for training, but the transfer itself still happens — worth clearing with your company policy.

// Alternatives:

Zed

open sourceDevelopment

Blazing-fast Rust editor

Official site

Zed comes from the authors of Atom and Tree-sitter — written in Rust, GPU-rendered, opens huge files without a hiccup. Real-time collaboration is built into the core. The extension ecosystem is younger than VS Code's, but the speed is felt from the first second.

// Install
brew install --cask zed
// What it is for
  • Written in Rust with GPU rendering: opening files and typing stay instant even in large projects
  • Collaborative editing is built in — shared project and shared terminal, no extra plugins
  • Language server support out of the box, configured by a single JSON file
  • Uses a fraction of the memory an Electron editor needs
// Common questions

Can I bring my VS Code extensions over?

No — Zed has its own extension system and it is much younger. Language servers and highlighting for mainstream languages are there, but niche marketplace plugins are not.

Is Zed free?

The editor itself is open source and free. Team features and some AI features that run through their servers are paid.

// Alternatives:

OrbStack

freemiumDevelopment Editor's pick

Docker without the lag

Official site

OrbStack is the Docker Desktop replacement people dreamed of: containers start instantly, the file system doesn't crawl, and battery stops melting. Lightweight Linux machines come as a bonus. Free for personal use; companies need a subscription.

// Install
brew install --cask orbstack
// What it is for
  • Containers and Linux machines start in seconds and do not spin up the fans
  • Memory and battery use are markedly lower than Docker Desktop — decisive on a laptop
  • Compatible with the docker and docker compose commands, so no habits need changing
  • Full Linux machines alongside containers, sharing files with macOS
// Common questions

Do I have to rewrite my compose files?

No. OrbStack exposes the same docker socket and the same CLI, so existing projects run unchanged.

Is OrbStack free?

For personal use, yes. Commercial use needs a paid licence — worth checking before rolling it out to a team.

// Alternatives:

Docker Desktop

freemiumDevelopment

Official Docker for Mac

Official site

Docker Desktop is the official way to run containers on a Mac: dashboard, one-click Kubernetes, Dev Environments, and Docker Hub integration. Paid for companies over 250 people. If resource usage bothers you — look at OrbStack.

// Install
brew install --cask docker
// What it is for
  • The official Docker build: any instruction from the docs works without translating to another runtime
  • A GUI for containers, images, volumes, and logs
  • Built-in Kubernetes behind a single toggle
  • Image vulnerability scanning and Docker Hub integration
// Common questions

Why does Docker Desktop tax the Mac so much?

Linux containers run inside a virtual machine, and that VM holds memory and CPU continuously. On a laptop you see it in battery life — OrbStack or Colima are the lighter options.

Do I need a paid subscription?

Not for personal projects, education, or small companies. Larger organisations do need a paid subscription — check the current licence terms on their site.

// Alternatives:

TablePlus

freemiumDevelopment

Native database GUI

Official site

TablePlus is a native client for dozens of databases: PostgreSQL, MySQL, SQLite, Redis, ClickHouse, and more. Fast, with smart filters, a safe-edit mode, and SQL highlighting. The free tier limits open tabs — enough for exploration.

// Install
brew install --cask tableplus
// What it is for
  • One native client for PostgreSQL, MySQL, SQLite, Redis, and a dozen more
  • Opens instantly and stays responsive on tables with millions of rows
  • Row edits collect into a single SQL statement you can review before applying
  • SSH tunnelling is configured right in the connection settings
// Common questions

What does the free version limit?

The free version never expires but caps how many tabs and connections you can keep open at once. Fine for occasional work; daily use pushes you to a licence.

TablePlus or DBeaver?

TablePlus is native, fast, and paid; DBeaver is free, Java-based, supports more database engines, and carries a heavier interface. Speed versus coverage.

DBeaver

open sourceDevelopment

Universal database workbench

Official site

DBeaver Community is a free universal client: works with any JDBC-capable database, draws ER diagrams, handles data migration, and exports to dozens of formats. The Eclipse-based UI isn't pretty, but the functionality serves analysts and DBAs alike.

// Install
brew install --cask dbeaver-community
// What it is for
  • Supports practically any database with a JDBC driver — including obscure enterprise ones
  • The Community edition is entirely free with no connection limits
  • Entity-relationship diagrams are generated from the existing schema automatically
  • Import and export between different database engines is built into the UI
// Common questions

Why is DBeaver slow to start?

It is a Java application on the Eclipse platform: startup takes seconds and the UI feels heavier than native clients. That is the price of supporting dozens of engines in one window.

How does Community differ from the paid edition?

Community covers every mainstream SQL database. The paid edition adds NoSQL sources, cloud warehouses, and advanced migration tooling — rarely needed for application development.

Sequel Ace

open sourceDevelopment Editor's pick

Fast native MySQL and MariaDB client

Official site

Sequel Ace is the spiritual and technical successor to the legendary Sequel Pro, adapted for modern macOS versions and Apple Silicon. Lightweight, boots in a split second, works natively with MySQL and MariaDB, and supports secure SSH tunneling alongside smooth dump import/export.

// Install
brew install --cask sequel-ace
// What it is for
  • Dedicated native GUI for MySQL and MariaDB that launches in a split second
  • Built-in SSH tunneling with support for key-based and password authentication
  • Fluid row filtering, fast table schema inspection, indexes, and relations
  • Fast SQL dump export and import without interface freezes
// Common questions

How does Sequel Ace differ from Sequel Pro?

Sequel Pro was abandoned by original authors and crashed repeatedly on recent macOS releases. Sequel Ace is the community-driven open-source continuation, rewritten for modern macOS and Apple Silicon.

Does Sequel Ace support PostgreSQL or SQLite?

No, Sequel Ace is deliberately tailored only for MySQL and MariaDB. Thanks to this narrow focus, it feels much faster and more responsive than general-purpose multi-engine tools.

// Alternatives:

Another Redis Desktop Manager

open sourceDevelopment Editor's pick

Fast and visual Redis desktop GUI

Official site

Another Redis Desktop Manager (ARDM) is one of the fastest and most practical GUI clients for Redis. Supports Redis Sentinel, Cluster, SSL, and SSH tunneling with multiple payload decoders (JSON, MessagePack, raw bytes). Remains responsive on vaults with millions of keys thanks to chunked loading.

// Install
brew install --cask another-redis-desktop-manager
// What it is for
  • Visual browsing and streamlined editing for all Redis data types: Strings, Lists, Sets, Hashes, and Streams
  • Responsive performance on massive production databases with millions of keys via chunked loading
  • Built-in Redis command console, SSH tunneling, SSL encryption, and Redis Cluster support
  • Automatic decoding and formatting for JSON, MessagePack, and raw HEX values
// Common questions

Will the client freeze when connecting to a vault with millions of keys?

No, ARDM employs cursor-based scanning and lazy pagination rather than blocking KEYS * commands, ensuring production clusters and the UI stay entirely responsive.

Does it support Redis Sentinel and Clusters?

Yes, the connection wizard includes dedicated modes for Sentinel topologies and Redis Clusters with automated node redirection.

// Alternatives:

DB Browser for SQLite

open sourceDevelopment

Classic SQLite database browser and editor

Official site

DB Browser for SQLite is a trusted open-source tool for working with SQLite databases: mobile app stores, browser caches, and local .db files. Allows visual schema creation, indexing, executing raw queries, and browsing records in a familiar spreadsheet format.

// Install
brew install --cask db-browser-for-sqlite
// What it is for
  • Direct inspection and editing of .sqlite, .db, and .sqlite3 files with zero server setup
  • Visual schema editor for tables, columns, foreign keys, and database triggers
  • Full SQL query runner with syntax highlighting, execution timing, and transaction rollback
  • Smooth import and export between SQLite tables, CSV files, and SQL dumps
// Common questions

Can I undo accidental changes or deletions?

Yes, modifications stay buffered until you explicitly click "Write Changes". At any point prior to saving, you can simply click "Revert Changes".

Is it suitable for learning SQL?

It is one of the best tools for beginners: requires no running background daemon, operates on a single file, and displays generated SQL syntax for every visual action.

// Alternatives:

Postman

freemiumDevelopment

The API debugging classic

Official site

Postman is the best-known API client: request collections, environment variables, JavaScript test scripts, mock servers, and docs generated from collections. Cloud sync suits teams but requires an account — for a cloud-free alternative, see Bruno.

// Install
brew install --cask postman
// What it is for
  • Request collections with environment variables — one set works against dev, staging, and production
  • JavaScript tests run after each request and turn a collection into a regression suite
  • Auto-generated documentation and code samples for a dozen languages
  • Response mocking while the backend is still being built
// Common questions

Can I use Postman without an account?

Not really: collections sync through the cloud and most team features require signing in. If your policy rules out the cloud, Bruno with git-stored collections is the honest alternative.

Why did Postman get so heavy?

It is an Electron app that grew from a simple client into a platform with collaboration, monitoring, and mocking. The convenience is paid for in memory and startup time.

// Alternatives:

Bruno

open sourceDevelopment

API client in your git repo

Official site

Bruno is an offline Postman alternative: collections live as text files (Bru format) right in your repository, versioned alongside the code. No accounts, no mandatory cloud. Supports environments, secrets, and test scripts.

// Install
brew install --cask bruno
// What it is for
  • Collections are plain files in your repo — code review and change history like any other code
  • Works offline and needs no account: nothing leaves the machine
  • No syncing between teammates to set up — git is the sync
  • A light interface with no platform scaffolding: launch it and work
// Common questions

How do I move collections over from Postman?

Bruno imports Postman collections. Simple requests and environments come across untouched; complex pre-request scripts sometimes need a manual pass.

Does Bruno work for a team?

Yes, and that is its strength: the collection lives in the same repository as the API, so changes go through pull requests alongside the code instead of living a separate life in the cloud.

// Alternatives:

DevToys

open sourceDevelopment Editor's pick

A Swiss Army knife for developers

Official site

DevToys is a Swiss Army knife for developers packing dozens of daily micro-utilities into a fast native interface. JSON/YAML formatting and validation, JWT and Base64 decoding, regex testing, UUID and hash generation. Operates strictly offline, ensuring sensitive tokens and payload data never touch remote web services.

// Install
brew install --cask devtoys
// What it is for
  • Dozens of daily dev utilities in one spot: JSON/YAML, Regex, JWT, Base64, hashes, and UUIDs
  • Operates strictly offline: sensitive API tokens, passwords, and payloads never leak to random websites
  • Smart clipboard detection: automatically identifies pasted data type and suggests the best tool
  • Compact native interface with dark mode support and lightweight resource footprint
// Common questions

Why use DevToys instead of quick web tools?

Security and privacy: pasting production JWTs, customer records, or internal JSON into browser websites creates data leak risks. DevToys processes everything locally with zero network calls.

Does it support timestamp and format conversions?

Yes, it includes Unix Timestamp converters, hash generators (MD5, SHA, HMAC), Cron expression testers, and URL/HTML encoders.

Fork

paidDevelopment

The best Git GUI

Official site

Fork is the most pleasant graphical Git client: drag-and-drop interactive rebase, three-pane conflict resolution, line-by-line staging, and a fast history view. Paid with an unlimited trial — the developers just gently remind you to pay.

// Install
brew install --cask fork
// What it is for
  • Interactive rebase by drag and drop — the clearest implementation among macOS git clients
  • Three-pane conflict resolution showing both sides and the result
  • Fast and native: a repository with tens of thousands of commits opens without a pause
  • Stage individual lines, not just whole files
// Common questions

Is Fork really paid?

Yes, a one-time licence purchase rather than a subscription. It keeps working before you buy while reminding you about the licence — check their site for the current evaluation terms.

Why use a GUI when git is in the terminal?

For commit and push the terminal is faster. A GUI wins where seeing the picture matters: reading history, interactive rebase, hunting for a commit, and resolving conflicts.

Sublime Merge

paidDevelopment

Blazing fast Git client by Sublime Text authors

Official site

Sublime Merge is crafted by the team behind Sublime Text with an unyielding focus on performance: custom C++ engine, GPU-accelerated rendering, and instantaneous full-repository commit search. Features syntax-aware character-level diffs, robust 3-way merge conflict resolution, and seamless command-line integration. Unlimited free evaluation.

// Install
brew install --cask sublime-merge
// What it is for
  • Blazing speed: custom C++ engine and hardware-accelerated rendering for repos of any scale
  • High-precision line-by-line and character-by-character diffs with syntax highlighting
  • Instant search across commits, branches, authors, and messages with zero indexing delays
  • Intuitive 3-way merge tool for conflict resolution
// Common questions

Can I use Sublime Merge for free?

Yes, Sublime Merge offers an indefinite evaluation period with full functionality intact. The license is a one-time purchase with no forced recurring subscriptions.

How does it integrate with Sublime Text and the terminal?

It includes the `smerge` CLI tool (open repos, diffs, and blames from the terminal) and integrates directly with Sublime Text for instant code editing jumps.

// Alternatives:

GitHub Desktop

freeDevelopment

Git for beginners

Official site

GitHub Desktop is a free client for those avoiding terminal Git: two-click cloning, visual branches, pull requests right from the app. Deliberately simple: for complex rebases and history surgery you'll need Fork or the command line.

// Install
brew install --cask github
// What it is for
  • Completely free and the gentlest possible entry into git
  • Cloning, branches, and GitHub pull requests in a couple of clicks, with no remote setup
  • A clear view of your changes before committing
  • Identical on macOS and Windows — handy for mixed teams
// Common questions

Does GitHub Desktop work with GitLab or Bitbucket?

As ordinary remotes over HTTPS or SSH, yes. But the pull request, issue, and actions integration is GitHub-only, and that integration is the entire point of the app.

Is it enough for serious work?

For the daily branch-commit-pull-request loop, yes. Interactive rebase, line-level staging, and deeper history surgery are not there — that is where Fork or the terminal comes in.

// Alternatives:

// Mac apps