A macOS workstation for web, backend and mobile delivery.
A practical macOS setup for developers who need Xcode Command Line Tools, Homebrew, Git, VS Code, Cursor, Node.js, pnpm, Docker Desktop and optional iOS or Flutter workflows without overloading the machine.
Start with Apple tools
Install command-line build tools first so Git, compilers, Homebrew packages and native dependencies behave predictably.
Keep the web stack simple
Use Homebrew, Node.js, pnpm, Docker Desktop and focused editor extensions for everyday project work.
Treat mobile as optional
Xcode, simulators and Flutter are useful when the project needs them, but they add weight and maintenance.
Install the macOS base in a predictable order
The goal is a workstation that can compile dependencies, run web projects, manage containers and support mobile work when needed.
01 · Install Xcode Command Line Tools
Command-line tools provide compilers, Git integration and headers needed by many development packages.
02 · Install Homebrew
Homebrew becomes the main package manager for Git, runtimes, CLI tools and desktop applications.
03 · Install Git, Node.js and pnpm
Prepare the web and backend runtime before opening Next.js, NestJS or TypeScript projects.
04 · Add editors
Install VS Code or Cursor with a small extension set aligned to the actual project stack.
05 · Add Docker Desktop
Use Docker for PostgreSQL, Redis, Mailpit, MinIO and other local services that should remain reproducible.
06 · Add iOS or Flutter tooling
Install full Xcode, simulators or Flutter only when mobile development or validation is part of the workflow.
Command-line and package manager setup
These commands are intentionally small. Install Homebrew from its official instructions, then keep package installation readable.
xcode-select --installInstalls Apple command-line build tools required by Git, compilers and native dependencies.
brew doctorChecks whether Homebrew is healthy after installation and before adding many packages.
brew update && brew upgradeRefreshes Homebrew package metadata and applies available upgrades.
brew install git node pnpmInstalls the core command-line tools for Git repositories and TypeScript projects.
corepack enableEnables package-manager shims when projects rely on Corepack-managed pnpm versions.
Editors, containers and focused desktop tools
Install only the applications that match the projects on this machine, then verify their command-line integration.
brew install --cask visual-studio-codeInstalls VS Code for TypeScript, Markdown, Git, Docker and documentation workflows.
brew search cursorCheck the current Cursor cask or install from the verified publisher page before adding it.
brew install --cask dockerInstalls Docker Desktop for local containers and Compose-based development stacks.
Open Docker Desktop once
Docker must complete its first launch and permissions flow before terminal checks will pass.
Apple Silicon considerations
Most modern tools support Apple Silicon, but a few project dependencies may still require architecture awareness.
uname -m
Shows whether the current shell is running as arm64 or x86_64, which matters for native dependencies.
Prefer native arm64 packages
Use native packages when available to avoid slow builds and confusing binary compatibility issues.
Use Rosetta only for legacy tools
Rosetta can help with older binaries, but it should not become the default path for a modern stack.
Check Docker image architecture
Some containers may need platform-specific images or explicit platform settings on Apple Silicon.
Publisher sources to prefer
A macOS setup should stay connected to official installation channels, especially for system tools and mobile SDKs.
Apple developer tools
Use Apple channels for Xcode, Command Line Tools, simulators and platform SDKs.
Homebrew
Install Homebrew from its official instructions and use brew doctor to catch setup issues.
VS Code and Cursor
Install editors from verified casks or publisher pages, then keep extension choices intentional.
Node.js and pnpmUse a consistent Node.js and pnpm strategy so project scripts behave the same across shells.
Docker DesktopUse the publisher package and check team licensing or platform constraints before relying on it.
Flutter and Android StudioInstall mobile tooling from official sources when cross-platform or Android validation is needed.
iOS, Android and Flutter readiness
Mobile tooling should be installed when the workstation must build, run or validate mobile applications.
Install Xcode from Apple
Full Xcode is required for iOS simulators, signing workflows and native iOS builds.
sudo xcodebuild -license acceptAccepts the Xcode license when required before build tools and simulators can run.
brew install --cask android-studioInstalls Android Studio for Android SDK management and emulator workflows.
brew search flutterCheck the current Flutter distribution path before installing it for cross-platform projects.
flutter doctorSummarizes missing iOS, Android and toolchain requirements after Flutter is installed.
Post-install verification
A macOS pack is only useful if the terminal, editor, runtime and containers answer consistently after installation.
xcode-select -pConfirms that command-line tools are installed and visible to the current shell.
brew --version && brew doctorChecks Homebrew availability and catches common configuration warnings.
git --versionConfirms Git availability before project checkout.
node -v && pnpm -vVerifies the JavaScript runtime and package manager.
docker --version && docker compose versionConfirms Docker CLI and Compose availability after Docker Desktop has started.
code --versionChecks VS Code command-line integration if the shell command was installed.
Living toolkit
This section will be progressively enriched with real tools.
Packs, scripts and experiments will be documented with practical usage, clear limits and engineering context.