auto-dev-setup
v0.1.1
Published
Cross-platform CLI tool to automate developer environment setup on Windows, macOS, and Linux
Maintainers
Readme
auto-dev-setup
A cross-platform command-line tool that automates developer environment setup on Windows, macOS, and Linux.
╭─────────────────────────────────────────────────────╮
│ │
│ auto-dev-setup │
│ Cross-platform Developer Environment Setup Tool │
│ │
╰─────────────────────────────────────────────────────╯Features
- Cross-Platform: Works consistently on Windows, macOS, and Linux
- Interactive Setup: Guided installation with clear prompts
- Idempotent: Safe to run multiple times - skips already installed tools
- Transparent: Shows all commands before execution
- Modular: Install only what you need
Quick Start
# Install globally
npm install -g auto-dev-setup
# Run the setup wizard
auto-setupThat's it! The tool will guide you through the rest.
What Gets Installed
Always Installed (Base + Web Stack)
- Base Tools: Git, curl/wget
- Node.js (LTS version)
- npm (configured for global installs)
- Visual Studio Code with essential extensions:
- ESLint
- Prettier
- GitLens
Optional (You Choose)
- Python Stack: Python 3, pip, pipx, virtualenv, Jupyter, NumPy, Pandas
- Java Stack: OpenJDK (LTS), JAVA_HOME configuration
Installation
Prerequisites
You need Node.js (v16+) installed. If you don't have it:
| Platform | Install Node.js |
|----------|-----------------|
| Windows | Download from nodejs.org or run winget install OpenJS.NodeJS.LTS |
| macOS | Run brew install node or download from nodejs.org |
| Linux | Use your package manager: apt install nodejs npm or dnf install nodejs npm |
Install auto-dev-setup
npm install -g auto-dev-setupUsage
Interactive Mode (Recommended)
auto-setupThis will:
- Detect your platform (Windows/macOS/Linux)
- Install base system tools (Git, curl)
- Install the web developer stack (Node.js, npm, VS Code)
- Ask if you want Python stack
- Ask if you want Java stack
- Configure all PATH variables
- Display a summary
Non-Interactive Mode
# Install everything without prompts
auto-setup --yes
# Skip specific stacks
auto-setup --skip-python
auto-setup --skip-java
auto-setup --yes --skip-javaOther Commands
# Check what's already installed
auto-setup check
# Display system info
auto-setup info
# Show version
auto-setup --version
# Show help
auto-setup --helpExample Output
Step 1: Platform Detection
╭──────────────────────────────────────────────────────╮
│ System Information │
│ │
│ 💻 OS: Windows (win32) │
│ 🔧 Architecture: x86_64 (64-bit) │
│ 📁 Shell: powershell │
│ 📦 Package Manager: winget │
╰──────────────────────────────────────────────────────╯
Step 2: Base System Setup
✓ Using package manager: winget
✓ Git already installed
✓ curl already available
Step 3: Web Developer Stack (Mandatory)
✓ Node.js LTS already installed
✓ Visual Studio Code already installed
→ Installing VS Code extensions...
• ESLint - installed
• Prettier - already installed
• GitLens - already installed
...
╭──────────────────────────────────────╮
│ Installation Summary │
│ │
│ Installed (6): │
│ ✔ VS Code: ESLint │
│ ✔ pipx │
│ ✔ virtualenv │
│ ✔ NumPy │
│ ✔ Pandas │
│ ✔ JAVA_HOME configuration │
│ │
│ Skipped (15): │
│ → Already installed items... │
│ │
│ Failed (0): │
│ None │
╰──────────────────────────────────────╯
🚀 Setup Complete!Platform-Specific Behavior
Windows
- Uses winget (preferred) or Chocolatey
- May require Administrator privileges for some installations
- Automatically configures PATH for Python Scripts
macOS
- Installs Xcode Command Line Tools if needed
- Uses Homebrew for package management
- Supports both Intel and Apple Silicon Macs
Linux
- Auto-detects your distribution
- Uses native package manager (apt, dnf, pacman, zypper, apk)
- Sets up NodeSource repository for latest Node.js LTS
After Installation
Important: Restart your terminal after installation for PATH changes to take effect.
| Platform | How to Apply Changes |
|----------|---------------------|
| Windows | Close PowerShell/Terminal and open a new one |
| macOS | Run source ~/.zshrc or restart Terminal |
| Linux | Run source ~/.bashrc (or ~/.zshrc) or restart terminal |
Then verify everything works:
node --version
npm --version
python --version
java --version
jupyter --versionSafety
- Does NOT install paid software
- Does NOT run background services
- Does NOT overwrite config files blindly
- Always checks before modifying PATH or shell configs
- Prints all executed commands to terminal
Requirements
- Node.js >= 16.0.0
- Internet connection for downloading packages
License
MIT License
Author
Built with Node.js using Commander.js, Inquirer.js, and Chalk.
