Automated setup for Cloud Security Alliance development environments. Get from a bare Mac to productive in a few commands.
1Password, Slack, Zoom, Chrome, Microsoft Office, Git, GitHub CLI. Optional dev profile adds VS Code, AWS CLI, and Wrangler.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/CloudSecurityAlliance/DesktopSetup/HEAD/scripts/macos-work-tools.sh)"Claude Code, Codex CLI, Gemini CLI.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/CloudSecurityAlliance/DesktopSetup/HEAD/scripts/macos-ai-tools.sh)"Homebrew formulas/casks, npm global packages, pip packages. Saves a snapshot of all installed versions before updating so you can roll back if anything breaks.
bash -c "$(curl -fsSL https://raw.githubusercontent.com/CloudSecurityAlliance/DesktopSetup/HEAD/scripts/macos-update.sh)"All three scripts are interactive — they show you what they plan to do and ask for confirmation. The install scripts share a base layer (Xcode CLI Tools, Homebrew, Node.js/npm) and install it if not already present.
macOS setup scripts. Each is self-contained and idempotent (safe to re-run):
macos-work-tools.sh— Core work apps + optional developer toolsmacos-ai-tools.sh— AI coding assistants (with migration from Homebrew/npm to recommended install methods)macos-update.sh— Update all installed tools (snapshots versions first for rollback)
Previous versions of scripts preserved for reference.
Run the update script to update everything at once (snapshots versions first):
bash -c "$(curl -fsSL https://raw.githubusercontent.com/CloudSecurityAlliance/DesktopSetup/HEAD/scripts/macos-update.sh)"Or update individual package managers manually:
brew update && brew upgrade # Homebrew formulas and casks
npm update -g # npm global packages (Codex, Gemini, Wrangler)
pip install --upgrade pip # pip itself (Claude Code auto-updates)Snapshots are saved to ~/Library/Logs/CSA-DesktopSetup/ with timestamps.
We currently support macOS only. Windows support may come later.
Found a problem? Have a suggestion?
Open an issue — we have templates for common requests.
Apache License 2.0 — see LICENSE.