Back to collection

Your dev environment.
One command.

A single script that installs your package manager, CLI tools, GUI apps, and verifies everything is healthy. Run it on a fresh system or use it to keep an existing one up to date. Idempotent — safe to run as often as you like.

Homebrew on macOS. Chocolatey on Windows. Same workflow on both.

Shell Script PowerShell macOS Windows MIT License

What It's For

Setting up a development environment shouldn't take hours of manual installs. This script does it all.

💻

Fresh System Setup

Just wiped your machine or got a new one? Run a single command to install everything you need — package manager, CLI tools, editors, and more.

🔄

Keep It Current

Already set up? Run it again to upgrade outdated packages, install anything missing, and verify your environment is healthy. Safe to run anytime.

📊

Health Check Mode

Use --check (macOS) or -Check (Windows) to see what's installed, outdated, or missing — without making any changes.

How to Use

Four ways to run it — pick the one that fits your workflow.

macOS — Terminal

Shell Script

Run directly from Terminal.

# Clone the repository
git clone https://github.com/DJCastle/toolBox.git
cd toolBox

# Full install + upgrade
bash scripts/package-manager-setup/brew-setup.sh

# Report only — no changes
bash scripts/package-manager-setup/brew-setup.sh --check
Windows — PowerShell

PowerShell Script

Run as Administrator in PowerShell.

# Clone the repository
git clone https://github.com/DJCastle/toolBox.git
cd toolBox

# Full install + upgrade (run as Admin)
.\scripts\package-manager-setup\choco-setup.ps1

# Report only — no changes
.\scripts\package-manager-setup\choco-setup.ps1 -Check
macOS — One Click

Apple Shortcut

Import into Shortcuts.app and run with one click.

# Import the shortcut
open shortcuts/package-manager-setup/Dev-Brew-Setup.shortcut

Requires enabling "Allow Running Scripts" in Shortcuts > Settings > Advanced. Disable after use.

Windows — One Click

Power Automate Desktop

Import the PAD flow and run with one click.

# Open the .pad file in a text editor
# Copy the contents into a new PAD flow
pad-flows/package-manager-setup/Dev-Choco-Setup.pad

The flow requests administrator privileges (UAC prompt) because Chocolatey requires elevation.

Default Packages

What gets installed out of the box. Edit the arrays in each script to customize.

macOS (Homebrew)

PackageDescription
ghGitHub CLI
nodeNode.js runtime
jqJSON processor
swiftlintSwift style enforcement
cocoapodsiOS dependency manager
fastlaneiOS build automation
visual-studio-codeVS Code (cask)

+ tree, wget, swiftformat, xcbeautify, mas

Windows (Chocolatey)

PackageDescription
gitGit version control
ghGitHub CLI
nodejs-ltsNode.js LTS runtime
python3Python 3 runtime
vscodeVisual Studio Code
powershell-corePowerShell 7+

+ jq, wget, curl, 7zip, microsoft-windows-terminal

Customize Your Packages

Edit the package arrays in each script to match your workflow. macOS: add to FORMULAE or CASKS arrays. Windows: add to the $Packages array. Find package names at formulae.brew.sh or community.chocolatey.org.

Features

🔄

Idempotent

Safe to run repeatedly. Already-installed packages are skipped, outdated ones are upgraded, missing ones are installed.

📊

Environment Health

After installing, verifies that key tools are working: GitHub CLI auth, Node.js, VS Code, and more. Shows remaining manual steps.

🎓

Color-Coded Output

Clear status for every package: [OK] up to date, [WARN] needs update, [FAIL] error. Plus a summary at the end.

Requirements

macOS — Apple Silicon or Intel. Admin password for Homebrew install.
Windows 10/11 — must run as Administrator (Chocolatey requires elevation).
Internet connection — to download packages from Homebrew/Chocolatey repositories.

About

Package Manager Setup is part of CodeCraftedApps Toolbox, a collection of open-source automation tools for macOS and Windows. It solves a common problem: every time you set up a new machine or reinstall your OS, you spend hours installing developer tools one by one. This script does it all with a single command.

Review the package lists before running. Customize them to match your workflow. It's open source — fork it and make it your own.