A cross-platform collection of utility scripts for Windows, Linux, and macOS. Beautiful, idempotent, and inspired by GitHub CLI.
- π¨ Colorful CLI Output - Rich visual feedback with emoji and colors
- π Idempotent - Safe to run multiple times
- π Cross-Platform - Windows (PowerShell), Linux (Bash), macOS (Zsh)
- π¦ Synchronized - Same functionality across all platforms
- π‘οΈ Robust - Comprehensive error handling and validation
PowerScripts/
βββ scripts/
β βββ windows/ # PowerShell scripts (.ps1)
β βββ linux/ # Bash scripts (.sh)
β βββ macos/ # Zsh scripts (.zsh)
βββ .github/
β βββ copilot-instructions.md
βββ README.md
βββ ...
# Run a script
.\scripts\windows\script-name.ps1
# Get help
.\scripts\windows\script-name.ps1 -h# Make executable (first time only)
chmod +x scripts/linux/script-name.sh
# Run a script
./scripts/linux/script-name.sh
# Get help
./scripts/linux/script-name.sh --help# Make executable (first time only)
chmod +x scripts/macos/script-name.zsh
# Run a script
./scripts/macos/script-name.zsh
# Get help
./scripts/macos/script-name.zsh --helpComprehensive Windows system update and maintenance script with full automation support.
Features:
- πͺ Windows Updates installation
- π₯ System health checks (DISM, SFC)
- π¦ Winget package updates
- π« Chocolatey package updates (if installed)
- π₯ Scoop package updates (if installed)
- πͺ Microsoft Store app updates
Platforms:
- Windows:
scripts/windows/Windows-Check-Health.ps1
Quick Start:
# Run all operations (default)
.\scripts\windows\Windows-Check-Health.ps1
# Disable specific operations
.\scripts\windows\Windows-Check-Health.ps1 -WindowsUpdate:$false -SystemHealth:$false
# Show help
.\scripts\windows\Windows-Check-Health.ps1 -HelpParameters:
-WindowsUpdate- Enable/disable Windows Updates (default: enabled)-SystemHealth- Enable/disable system health checks (default: enabled)-Winget- Enable/disable Winget updates (default: enabled)-Chocolatey- Enable/disable Chocolatey updates (default: enabled)-Scoop- Enable/disable Scoop updates (default: enabled)-MicrosoftStore- Enable/disable Microsoft Store updates (default: enabled)-Help/-h/-?- Display help information
Requirements:
- Administrator privileges
- PowerShell 5.1 or higher
π Full Documentation
Automated Docker installation with all necessary prerequisites and dependencies.
Features:
- π Automatic distribution/OS detection
- π¦ Dependency installation
- π³ Docker Engine/Desktop installation
- βοΈ Post-installation configuration
- β Installation verification
- π¨ Platform-specific optimizations
Platforms:
- Windows:
scripts/windows/Install-Docker.ps1 - Linux:
scripts/linux/install-docker.sh - macOS:
scripts/macos/install-docker.zsh
Quick Start:
Windows:
# Full installation (checks WSL2 + Hyper-V)
.\scripts\windows\Install-Docker.ps1
# Skip specific components
.\scripts\windows\Install-Docker.ps1 -SkipWSL
# Show help
.\scripts\windows\Install-Docker.ps1 -HelpLinux:
# Make executable (first time)
chmod +x scripts/linux/install-docker.sh
# Full installation
sudo ./scripts/linux/install-docker.sh
# Skip Docker Compose
sudo ./scripts/linux/install-docker.sh --skip-compose
# Show help
./scripts/linux/install-docker.sh --helpmacOS:
# Make executable (first time)
chmod +x scripts/macos/install-docker.zsh
# Full installation
./scripts/macos/install-docker.zsh
# Skip Rosetta 2 (Apple Silicon)
./scripts/macos/install-docker.zsh --skip-rosetta
# Show help
./scripts/macos/install-docker.zsh --helpWindows Parameters:
-SkipWSL- Skip WSL2 installation-SkipHyperV- Skip Hyper-V verification-SkipDocker- Skip Docker Desktop installation-Help- Display help
Linux Options:
--skip-compose- Skip Docker Compose installation--skip-user-group- Skip adding user to docker group--help- Display help
macOS Options:
--skip-homebrew- Skip Homebrew check--skip-rosetta- Skip Rosetta 2 installation--help- Display help
Requirements:
- Windows: Administrator privileges, Windows 10/11 Pro/Enterprise
- Linux: Root/sudo privileges, supported distro (Ubuntu, Debian, Fedora, CentOS, Arch)
- macOS: macOS 11.0+, administrator privileges
π Full Documentation
Complete development environment setup with VS Code, Git, PowerShell 7, Oh My Posh, and Docker.
Features:
- π Visual Studio Code installation
- π¦ Git version control
- π» PowerShell 7 (latest version)
- π¨ Oh My Posh with Dracula theme
- π³ Docker (optional, calls Install-Docker script)
- π VS Code extensions (Dev Containers, Docker, PowerShell, GitLens)
- βοΈ Automatic profile configuration
- π€ Nerd Font installation
Platforms:
- Windows:
scripts/windows/Install-VSCode.ps1 - Linux:
scripts/linux/install-vscode.sh - macOS:
scripts/macos/install-vscode.zsh
Quick Start:
Windows:
# Full installation
.\scripts\windows\Install-VSCode.ps1
# Skip Docker
.\scripts\windows\Install-VSCode.ps1 -SkipDocker
# Use different Oh My Posh theme
.\scripts\windows\Install-VSCode.ps1 -OhMyPoshTheme "paradox"Linux:
# Make executable (first time)
chmod +x scripts/linux/install-vscode.sh
# Full installation
sudo ./scripts/linux/install-vscode.sh
# Skip Docker and use different theme
sudo ./scripts/linux/install-vscode.sh --skip-docker --ohmyposh-theme "paradox"macOS:
# Make executable (first time)
chmod +x scripts/macos/install-vscode.zsh
# Full installation
./scripts/macos/install-vscode.zsh
# Skip Docker
./scripts/macos/install-vscode.zsh --skip-dockerWhat Gets Installed:
- Git - Version control system
- PowerShell 7 - Latest PowerShell with cross-platform support
- Oh My Posh - Prompt theme engine with Dracula theme
- Nerd Font - CascadiaCode/CaskaydiaCove for icons
- VS Code - Latest Visual Studio Code
- Extensions: PowerShell, GitLens, Dev Containers, Docker
- Docker - Full Docker installation (optional)
PowerShell Profile:
- Configured with Oh My Posh and Dracula theme
- PSReadLine with history prediction
- Useful aliases (g=git, d=docker, dc=docker-compose)
π Full Documentation
Docker cleanup and disk space recovery utility.
Platforms:
- Windows:
scripts/windows/Docker-Cleanup-Shrink.ps1
Complete .NET development environment setup for Windows with all necessary tools and SDKs.
Features:
- π» .NET SDK (latest LTS and current versions)
- π§ Git version control
- β‘ PowerShell 7 (latest version)
- π¨ Oh My Posh with automatic initialization and user theme
- π VS Code with C#/DevKit extensions
- π² Hyper-V verification and enablement
- π§ WSL2 with Ubuntu distribution (updated)
- π³ Docker Desktop
- π― Visual Studio 2022 (optional, default: yes)
- π JetBrains Rider via Toolbox (optional, default: no)
- βοΈ Azure CLI and NuGet CLI
- βοΈ Automatic PATH configuration
Platform:
- Windows:
scripts/windows/Setup-DotNetDev.ps1
Quick Start:
# Full installation (includes Visual Studio, no Rider)
.\scripts\windows\Setup-DotNetDev.ps1
# Skip Visual Studio, install Rider
.\scripts\windows\Setup-DotNetDev.ps1 -SkipVisualStudio -InstallRider
# Skip Docker
.\scripts\windows\Setup-DotNetDev.ps1 -SkipDocker
# Skip updates of existing tools
.\scripts\windows\Setup-DotNetDev.ps1 -SkipUpdatesParameters:
-SkipVisualStudio- Skip Visual Studio installation (default: install)-InstallRider- Install JetBrains Rider via Toolbox (default: no)-SkipDocker- Skip Docker Desktop installation-SkipUpdates- Skip updating existing tools-Verbose- Show detailed output
What Gets Installed:
- Chocolatey - Package manager
- Git - Version control
- PowerShell 7 - Latest PowerShell with cross-platform support
- Oh My Posh - Beautiful terminal prompts (auto-configured)
- .NET SDK - Latest stable version
- VS Code - With C#, DevKit, PowerShell, GitLens, Docker, Copilot extensions
- Hyper-V - Virtualization platform (enabled if not already)
- WSL2 + Ubuntu - Linux subsystem with updated distribution
- Docker Desktop - Container platform
- Node.js + npm - Required for GitHub Copilot CLI
- GitHub Copilot CLI - AI-powered command line assistant
- Visual Studio 2022 - Full IDE (optional, default: yes)
- JetBrains Toolbox - For Rider installation (optional, default: no)
- Azure CLI - Azure command-line tools
- NuGet CLI - Package management
Post-Installation:
- Restart terminal for PATH changes
- Run
dotnet --infoto verify .NET installation - Complete Docker Desktop first-run setup
- Run
wslto set up Ubuntu (username/password) - Authenticate GitHub Copilot CLI:
github-copilot-cli auth - VS Code: Sign in with GitHub for Copilot activation
- Open Visual Studio and sign in
- Configure Oh My Posh theme as desired
Requirements:
- Windows 10/11 Pro, Enterprise, or Education (for Hyper-V)
- Administrator privileges (required)
- Internet connection
- ~20GB free disk space
Notes:
- Reboot may be required for Hyper-V/WSL features
- Script is idempotent - safe to run multiple times
- Visual Studio includes all workloads (.NET, ASP.NET, Azure, etc.)
Complete .NET development environment setup for Linux and macOS with all necessary tools and SDKs.
Features:
- π» .NET SDK (latest LTS version)
- π§ Git version control
- π¨ Oh My Posh with automatic initialization and user theme
- π VS Code with C#/DevKit extensions
- π³ Docker Desktop/Engine
- π€ GitHub Copilot CLI
- π JetBrains Rider via Toolbox (optional, default: no)
- βοΈ Azure CLI
- βοΈ Automatic PATH configuration
Platforms:
- Linux:
scripts/linux/setup-dotnet-dev.sh - macOS:
scripts/macos/setup-dotnet-dev.zsh
Quick Start:
Linux:
# Make executable (first time)
chmod +x scripts/linux/setup-dotnet-dev.sh
# Full installation (no Rider)
sudo ./scripts/linux/setup-dotnet-dev.sh
# Install with Rider
sudo ./scripts/linux/setup-dotnet-dev.sh --install-rider
# Skip Docker
sudo ./scripts/linux/setup-dotnet-dev.sh --skip-docker
# Show help
./scripts/linux/setup-dotnet-dev.sh --helpmacOS:
# Make executable (first time)
chmod +x scripts/macos/setup-dotnet-dev.zsh
# Full installation (no Rider)
./scripts/macos/setup-dotnet-dev.zsh
# Install with Rider
./scripts/macos/setup-dotnet-dev.zsh --install-rider
# Skip Docker
./scripts/macos/setup-dotnet-dev.zsh --skip-docker
# Show help
./scripts/macos/setup-dotnet-dev.zsh --helpOptions:
--install-rider- Install JetBrains Rider via Toolbox (default: no)--skip-docker- Skip Docker installation--skip-updates- Skip updating existing tools-v, --verbose- Show detailed output
What Gets Installed:
- Package Manager - Homebrew (macOS) / system package manager (Linux)
- Git - Version control
- .NET SDK - Latest stable version (8.0+)
- VS Code - With C#, DevKit, PowerShell, GitLens, Docker, Copilot extensions
- Oh My Posh - Beautiful terminal prompts (auto-configured for bash/zsh)
- Docker - Desktop (macOS) / Engine (Linux)
- GitHub Copilot CLI - AI-powered command line assistant
- Node.js + npm - Required for Copilot CLI
- Azure CLI - Azure command-line tools
- JetBrains Toolbox - For Rider installation (optional)
Post-Installation:
- Restart terminal for PATH changes
- Run
dotnet --infoto verify .NET installation - Authenticate GitHub Copilot CLI:
github-copilot-cli auth - Sign in to VS Code with GitHub for Copilot
- Complete Docker Desktop setup (macOS)
- Log out/in for Docker group membership (Linux)
Requirements:
- Linux: sudo privileges, supported distro (Ubuntu, Debian, Fedora, RHEL, Arch, openSUSE)
- macOS: Administrator privileges, macOS 11.0+
Notes:
- Scripts are idempotent - safe to run multiple times
- GitHub Copilot requires a GitHub account with Copilot subscription
- Docker group membership requires logout/login on Linux
Complete Flutter development environment setup with all necessary tools and SDKs.
Features:
- π± Flutter SDK installation and configuration
- π¨ Android Studio with Android SDK
- π VS Code with Flutter/Dart extensions
- π§ Git version control
- π¦ Platform-specific package managers (Chocolatey/Homebrew)
- π iOS development setup (macOS only - Xcode, CocoaPods)
- π¨ Oh My Posh with custom theme
- βοΈ Automatic PATH configuration
- π Updates for all tools (optional)
Platforms:
- Windows:
scripts/windows/setup-flutter-dev.ps1 - Linux:
scripts/linux/setup-flutter-dev.sh - macOS:
scripts/macos/setup-flutter-dev.zsh
Quick Start:
Windows:
# Full installation
.\scripts\windows\setup-flutter-dev.ps1
# Skip updates of existing tools
.\scripts\windows\setup-flutter-dev.ps1 -SkipUpdates
# Verbose output
.\scripts\windows\setup-flutter-dev.ps1 -VerboseLinux:
# Make executable (first time)
chmod +x scripts/linux/setup-flutter-dev.sh
# Full installation
./scripts/linux/setup-flutter-dev.sh
# Skip updates
./scripts/linux/setup-flutter-dev.sh --skip-updates
# Show help
./scripts/linux/setup-flutter-dev.sh --helpmacOS:
# Make executable (first time)
chmod +x scripts/macos/setup-flutter-dev.zsh
# Full installation (includes iOS support)
./scripts/macos/setup-flutter-dev.zsh
# Skip updates
./scripts/macos/setup-flutter-dev.zsh --skip-updates
# Show help
./scripts/macos/setup-flutter-dev.zsh --helpWhat Gets Installed:
- Flutter SDK - Latest stable version
- Android Studio - IDE with Android SDK
- Android SDK - Platform tools, build tools, emulator, and system images
- Android Emulator - Pre-configured device (flutter_emulator)
- VS Code - With Dart, Flutter, snippets, Copilot, and emulator support
- Git - Version control
- Oh My Posh - Beautiful terminal prompts
- CocoaPods - iOS dependency management (macOS only)
- Xcode - iOS development (macOS only, manual completion required)
- KVM Support - For faster Android emulation (Linux only)
Post-Installation:
- Run
flutter doctorto verify installation - Complete Android Studio first-run setup
- Accept Android licenses:
flutter doctor --android-licenses - Test Android emulator:
flutter emulators --launch flutter_emulator - VS Code: Sign in with GitHub for Copilot activation
- macOS: Open Xcode, accept license, test iOS simulator
- Linux: Log out/in for KVM group membership (faster emulation)
Requirements:
- Windows: Administrator privileges recommended, PowerShell 5.1+
- Linux: sudo privileges, supported package manager
- macOS: Administrator privileges, macOS 11.0+
Complete ESP32 embedded development environment setup for all platforms with ESP-IDF and PlatformIO.
Features:
- π§ Git version control
- π¨ Oh My Posh with automatic initialization and user theme
- π VS Code with C/C++, ESP32, PlatformIO, and Copilot extensions
- β‘ PowerShell 7 (Windows only)
- π οΈ ESP-IDF (Espressif IoT Development Framework)
- π PlatformIO Core and IDE
- π¨ C/C++ build tools (CMake, Ninja, GCC)
- π Python with pip (required for ESP-IDF)
- π USB drivers for ESP32 boards
- βοΈ Automatic PATH configuration
Platforms:
- Windows:
scripts/windows/setup-esp32-dev.ps1 - Linux:
scripts/linux/setup-esp32-dev.sh - macOS:
scripts/macos/setup-esp32-dev.zsh
Quick Start:
Windows:
# Full installation
.\scripts\windows\setup-esp32-dev.ps1
# Skip updates
.\scripts\windows\setup-esp32-dev.ps1 -SkipUpdates
# Verbose output
.\scripts\windows\setup-esp32-dev.ps1 -VerboseLinux:
# Make executable (first time)
chmod +x scripts/linux/setup-esp32-dev.sh
# Full installation
sudo ./scripts/linux/setup-esp32-dev.sh
# Skip updates
sudo ./scripts/linux/setup-esp32-dev.sh --skip-updates
# Show help
./scripts/linux/setup-esp32-dev.sh --helpmacOS:
# Make executable (first time)
chmod +x scripts/macos/setup-esp32-dev.zsh
# Full installation
./scripts/macos/setup-esp32-dev.zsh
# Skip updates
./scripts/macos/setup-esp32-dev.zsh --skip-updates
# Show help
./scripts/macos/setup-esp32-dev.zsh --helpWhat Gets Installed:
- Git - Version control
- PowerShell 7 - Latest shell (Windows only)
- Python 3 - With pip for ESP-IDF tools
- VS Code - With comprehensive ESP32 extensions
- C/C++ Tools - CMake, Ninja, GCC compiler chain
- ESP-IDF - Official Espressif SDK (~$HOME/esp/esp-idf)
- PlatformIO - Modern embedded development platform
- Oh My Posh - Beautiful terminal prompts (auto-configured)
- USB Drivers - CP210x/CH340 for ESP32 boards
- udev Rules - USB permissions (Linux only)
VS Code Extensions:
- C/C++ IntelliSense and debugging
- C/C++ Extension Pack
- CMake Tools
- PlatformIO IDE
- ESP-IDF Extension
- Python support
- GitHub Copilot + Chat
- GitLens
- Error Lens
- Better C++ Syntax
Post-Installation:
- Restart terminal for PATH changes
- VS Code: Let PlatformIO complete background installation
- Test ESP-IDF:
source ~/esp/esp-idf/export.sh(Unix) or runexport.ps1(Windows) - Create project:
pio project init --board esp32dev - Connect ESP32 and verify: Device Manager (Windows),
ls /dev/ttyUSB*(Linux),ls /dev/cu.*(macOS) - Log out/in for USB permissions (Linux)
- VS Code: Sign in with GitHub for Copilot
Requirements:
- Windows: Administrator privileges, PowerShell 5.1+, ~3GB disk space
- Linux: sudo privileges, supported distro, ~3GB disk space
- macOS: Administrator privileges, macOS 11.0+, ~3GB disk space
Notes:
- Scripts are idempotent - safe to run multiple times
- ESP-IDF installs to
~/esp/esp-idf(cross-platform) - USB drivers may require manual installation on macOS
- Linux users must log out/in for dialout/plugdev group membership
Complete TypeScript/JavaScript development environment setup with Node.js, NVM, React, Angular, and Vue support.
Features:
- π’ Node.js LTS via NVM (Node Version Manager)
- π TypeScript compiler and ts-node
- βοΈ React development tools (Create React App, Vite)
π °οΈ Angular CLI (optional)- π Vue CLI (optional)
- π¦ Package managers (npm, Yarn, PNPM)
- π§ Git version control
- β‘ PowerShell 7 (Windows only)
- π¨ Oh My Posh with automatic initialization and user theme
- π VS Code with TypeScript, React, Angular, Vue extensions
- π ESLint and Prettier for code quality
- π€ GitHub Copilot CLI
- π WebStorm IDE (optional, default: no)
- βοΈ Automatic PATH configuration
Platforms:
- Windows:
scripts/windows/Setup-TypeScript-Dev.ps1 - Linux:
scripts/linux/setup-typescript-dev.sh - macOS:
scripts/macos/setup-typescript-dev.zsh
Quick Start:
Windows:
# Full installation (includes Angular and Vue)
.\scripts\windows\Setup-TypeScript-Dev.ps1
# Install with WebStorm
.\scripts\windows\Setup-TypeScript-Dev.ps1 -InstallWebStorm
# Skip Angular and Vue
.\scripts\windows\Setup-TypeScript-Dev.ps1 -SkipAngular -SkipVue
# Skip updates
.\scripts\windows\Setup-TypeScript-Dev.ps1 -SkipUpdatesLinux:
# Make executable (first time)
chmod +x scripts/linux/setup-typescript-dev.sh
# Full installation
sudo ./scripts/linux/setup-typescript-dev.sh
# Install with WebStorm, skip Angular and Vue
sudo ./scripts/linux/setup-typescript-dev.sh --install-webstorm --skip-angular --skip-vue
# Show help
./scripts/linux/setup-typescript-dev.sh --helpmacOS:
# Make executable (first time)
chmod +x scripts/macos/setup-typescript-dev.zsh
# Full installation
./scripts/macos/setup-typescript-dev.zsh
# Install with WebStorm
./scripts/macos/setup-typescript-dev.zsh --install-webstorm
# Skip Angular and Vue
./scripts/macos/setup-typescript-dev.zsh --skip-angular --skip-vue
# Show help
./scripts/macos/setup-typescript-dev.zsh --helpParameters/Options:
--install-webstorm/-InstallWebStorm- Install JetBrains WebStorm (default: no)--skip-angular/-SkipAngular- Skip Angular CLI installation--skip-vue/-SkipVue- Skip Vue CLI installation--skip-updates/-SkipUpdates- Skip updating existing tools-v, --verbose/-Verbose- Show detailed output
What Gets Installed:
- Package Manager - Chocolatey (Windows) / Homebrew (macOS) / system package manager (Linux)
- Git - Version control
- PowerShell 7 - Latest shell (Windows only)
- Oh My Posh - Beautiful terminal prompts (auto-configured)
- NVM - Node Version Manager for managing Node.js versions
- Node.js LTS - Long-term support version via NVM
- TypeScript - TypeScript compiler (global)
- ts-node - TypeScript execution engine (global)
- Yarn - Alternative package manager (global)
- PNPM - Fast, disk space efficient package manager (global)
- Create React App - Official React project generator (global)
- Vite - Next generation frontend tooling (global)
- Angular CLI - Angular development tools (optional, global)
- Vue CLI - Vue.js development tools (optional, global)
- ESLint - JavaScript/TypeScript linter (global)
- Prettier - Code formatter (global)
- VS Code - With comprehensive TypeScript/JavaScript extensions
- GitHub Copilot CLI - AI-powered command line assistant
- WebStorm - JetBrains IDE (optional)
VS Code Extensions:
- TypeScript and JavaScript Language Features
- ESLint integration
- Prettier - Code formatter
- ES7+ React/Redux/React-Native snippets
- Angular Language Service
- Vue Language Features (Volar)
- Tailwind CSS IntelliSense
- GitHub Copilot + Chat
- JavaScript Debugger
- Jest test runner
Post-Installation:
- Restart terminal for PATH changes
- Verify:
node --version && npm --version && tsc --version - Create React project:
npx create-react-app my-appornpm create vite@latest my-app -- --template react-ts - Create Angular project:
ng new my-app(if Angular installed) - Create Vue project:
vue create my-app(if Vue installed) - Configure Git:
git config --global user.name "Your Name" - Configure Git email:
git config --global user.email "your.email@example.com" - Authenticate GitHub Copilot CLI:
github-copilot-cli auth - VS Code: Sign in with GitHub for Copilot activation
Requirements:
- Windows: Administrator privileges, PowerShell 5.1+
- Linux: sudo privileges, supported package manager
- macOS: Administrator privileges, macOS 11.0+
Notes:
- Scripts are idempotent - safe to run multiple times
- NVM allows switching between Node.js versions:
nvm use <version> - Check available Node.js versions:
nvm list(Windows) ornvm ls(Linux/macOS) - Install specific Node version:
nvm install <version> - WebStorm requires JetBrains account (free trial or license)
- GitHub Copilot requires GitHub account with Copilot subscription
Complete C++ development environment setup with CMake, vcpkg, GCC, Clang, and all necessary build tools.
Features:
- π§ Git version control
- ποΈ CMake build system (latest version)
- β‘ Ninja build system for fast builds
- π¦ vcpkg package manager (Microsoft)
- π¨ GCC compiler (MinGW-w64 on Windows, native on Linux/macOS)
- π¦ Clang/LLVM compiler toolchain
- π’ MSVC Build Tools (Windows only, optional)
- π VS Code with comprehensive C++ extensions
- β‘ PowerShell 7 (Windows only)
- π¨ Oh My Posh with automatic initialization and user theme
- π Common development libraries (OpenSSL, Curl, Boost, etc.)
- βοΈ Automatic PATH and environment configuration
Platforms:
- Windows:
scripts/windows/Setup-Cpp-Dev.ps1 - Linux:
scripts/linux/setup-cpp-dev.sh - macOS:
scripts/macos/setup-cpp-dev.zsh
Quick Start:
Windows:
# Full installation (includes MSVC Build Tools)
.\scripts\windows\Setup-Cpp-Dev.ps1
# Skip Visual Studio Build Tools
.\scripts\windows\Setup-Cpp-Dev.ps1 -SkipVisualStudio
# Skip updates
.\scripts\windows\Setup-Cpp-Dev.ps1 -SkipUpdates
# Verbose output
.\scripts\windows\Setup-Cpp-Dev.ps1 -VerboseLinux:
# Make executable (first time)
chmod +x scripts/linux/setup-cpp-dev.sh
# Full installation
sudo ./scripts/linux/setup-cpp-dev.sh
# Skip updates
sudo ./scripts/linux/setup-cpp-dev.sh --skip-updates
# Show help
./scripts/linux/setup-cpp-dev.sh --helpmacOS:
# Make executable (first time)
chmod +x scripts/macos/setup-cpp-dev.zsh
# Full installation
./scripts/macos/setup-cpp-dev.zsh
# Skip updates
./scripts/macos/setup-cpp-dev.zsh --skip-updates
# Show help
./scripts/macos/setup-cpp-dev.zsh --helpParameters/Options:
--skip-updates/-SkipUpdates- Skip updating existing tools-SkipVisualStudio- Skip MSVC Build Tools installation (Windows only)-v, --verbose/-Verbose- Show detailed output
What Gets Installed:
- Package Manager - Chocolatey (Windows) / Homebrew (macOS) / system package manager (Linux)
- Git - Version control
- PowerShell 7 - Latest shell (Windows only)
- Oh My Posh - Beautiful terminal prompts (auto-configured)
- CMake - Cross-platform build system generator
- Ninja - Small build system with focus on speed
- GCC/G++ - GNU Compiler Collection (MinGW-w64 on Windows)
- Clang/LLVM - Modern C/C++ compiler with excellent diagnostics
- MSVC Build Tools - Microsoft C++ compiler (Windows only, optional)
- vcpkg - C++ library manager (~/.vcpkg or ~/vcpkg)
- VS Code - With comprehensive C++ extensions
- Development Libraries - OpenSSL, libcurl, zlib, Boost, jsoncpp
VS Code Extensions:
- C/C++ IntelliSense and debugging (Microsoft)
- C/C++ Extension Pack
- CMake Tools
- CMake language support
- clangd (LLVM language server)
- LLDB Debugger
- Error Lens
- GitLens
- GitHub Copilot + Chat
- Dev Containers
- Docker support
Post-Installation:
- Restart terminal for PATH changes
- Test CMake:
cmake --version - Test GCC:
g++ --version - Test Clang:
clang --version - Test vcpkg:
vcpkg search <package-name> - Install libraries:
vcpkg install fmt nlohmann-json boost catch2 spdlog - Create CMake project:
cmake -B build -G Ninja - Build project:
cmake --build build - VS Code: Sign in with GitHub for Copilot activation
Sample vcpkg Packages:
fmt- Modern formatting librarynlohmann-json- JSON for Modern C++boost- Comprehensive C++ librariescatch2- Modern testing frameworkspdlog- Fast logging libraryrange-v3- Range libraryabseil- Google's C++ library collection
Environment Variables Set:
VCPKG_ROOT- Path to vcpkg installationPATH- Updated with all tool paths
Requirements:
- Windows: Administrator privileges recommended, PowerShell 5.1+
- Linux: sudo privileges, supported package manager
- macOS: Administrator privileges, macOS 11.0+, Xcode Command Line Tools
Notes:
- Scripts are idempotent - safe to run multiple times
- vcpkg integrates with CMake automatically
- MSVC Build Tools required for some vcpkg packages on Windows
- macOS: Apple Clang is default, LLVM Clang available via Homebrew
- Linux: GCC is default system compiler
All scripts follow a consistent visual language:
- β Success - Green text
- β Error - Red text
β οΈ Warning - Yellow text- βΉοΈ Info - Cyan text
- π Note - Magenta text
- π Action - Bold/bright text
When adding new scripts:
- Create versions for all three platforms (Windows, Linux, macOS)
- Ensure functional parity across platforms
- Follow the style guide in
.github/copilot-instructions.md - Test idempotency (run twice, verify same result)
- Update this README with script documentation
- Windows: PowerShell 5.1+ (PowerShell 7+ recommended)
- Linux: Bash 4.0+
- macOS: Zsh 5.0+ (default on macOS 10.15+)
MIT License - feel free to use and modify these scripts.
Inspired by the excellent UX of GitHub CLI.
Made with β€οΈ for cross-platform automation