
Security News
PodRocket Podcast: Inside the Recent npm Supply Chain Attacks
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
@nhangen/universal-dev-env
Advanced tools
🚀 One-click setup for modern development environments with AI tools, cloud CLIs, and optimized containers
curl -fsSL https://raw.githubusercontent.com/nhangen/universal-dev-env/main/install.sh | bash
(Unix/Linux/macOS)Unix/Linux/macOS:
curl -fsSL https://raw.githubusercontent.com/nhangen/universal-dev-env/main/install.sh | bash
Windows (PowerShell as Administrator):
iwr -useb https://raw.githubusercontent.com/nhangen/universal-dev-env/main/install-windows.bat | iex
Windows (Alternative - Download & Run):
# Download and run the batch installer
curl -O https://raw.githubusercontent.com/nhangen/universal-dev-env/main/install-windows.bat
# Right-click install-windows.bat and "Run as Administrator"
Cross-Platform (npm):
npm install -g @nhangen/universal-dev-env
macOS (Homebrew):
brew tap nhangen/universal-dev-env
brew install universal-dev-env
Windows (Chocolatey):
# Coming soon - use npm method above for now
choco install universal-dev-env
# Coming soon to VS Code Marketplace
# For now, use the npm package method above
Setup failed? → Jump to Troubleshooting Guide
Common fixes:
curl -fsSL https://raw.githubusercontent.com/nhangen/universal-dev-env/main/universal-setup.sh -o universal-setup.sh && chmod +x universal-setup.sh && ./universal-setup.sh
chmod +x universal-setup.sh
uds cache --clear
rm -rf project-name && uds init --no-cache
# Create new project directory
mkdir my-awesome-project
cd my-awesome-project
uds init
# OR initialize in current directory (no subdirectory created)
cd my-existing-directory
uds init --here
# OR initialize Python ML project with one command
uds init --type python --ml --here
cd existing-project
uds setup
uds init # Initialize project with dev environment
uds init --here # Initialize in current directory (no subdirectory)
uds init --type python --ml # Initialize Python project with ML libraries
uds init --no-cache # Initialize without caching (fresh downloads)
uds setup # Install development tools in existing project
uds update # Update to latest version
uds uninstall # Completely remove Universal Dev Environment
uds cache --info # Show cache information
uds cache --clear # Clear cached files
universal-dev-setup # Main setup script (direct)
claude
) - AI-powered coding assistantgemini
) - Google's AI development toolgh
) - GitHub integration and automationgcloud
) - Cloud deployment and managementbrew
)choco
)apt
, yum
, apk
)uds init --type react
uds init --type node
uds init --type full-stack
uds init --type python
main.py
requirements.txt
with ML or standard packages.env
file for environment variables.gitignore
activate_env.sh
script for easy activationUniversal Dev Environment now has full Windows support via PowerShell:
-SkipDocker
)Option 1: One-line PowerShell (Recommended)
# Run PowerShell as Administrator, then:
iwr -useb https://raw.githubusercontent.com/nhangen/universal-dev-env/main/install-windows.bat | iex
Option 2: Manual Download
# Download the installer
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/nhangen/universal-dev-env/main/install-windows.bat" -OutFile "install-windows.bat"
# Right-click and "Run as Administrator"
Option 3: Direct PowerShell Script
# Download and run PowerShell script directly
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/nhangen/universal-dev-env/main/universal-setup.ps1" -OutFile "universal-setup.ps1"
powershell -ExecutionPolicy Bypass -File "universal-setup.ps1"
# Skip Docker Desktop installation
.\universal-setup.ps1 -SkipDocker
# Skip Chocolatey installation (if you already have it)
.\universal-setup.ps1 -SkipChocolatey
# Show help
.\universal-setup.ps1 -Help
# Build and run development environment
docker build --target development -t my-dev-env .
docker run -it -p 3000:3000 -v $(pwd):/workspace my-dev-env
# Build optimized production image
docker build --target production -t my-app .
docker run -p 3000:3000 my-app
Universal Dev Environment includes intelligent caching to speed up repeated installations:
~/.universal-dev-env/cache
# Show cache information
uds cache --info
# Clear all cached files
uds cache --clear
# Initialize without using cache
uds init --no-cache
# Install without using cache
uds install --no-cache
# Default cache directory
~/.universal-dev-env/cache/
# Cache expires after 30 days OR on version update
# Automatic cleanup of old versions and failed downloads
# Version-aware cache keys ensure fresh content on updates
# Playwright configuration
export PLAYWRIGHT_BROWSERS_PATH=/usr/bin
export PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium
# Development mode
export NODE_ENV=development
Create .universal-dev-env.json
in your project root:
{
"projectType": "react",
"baseImage": "debian",
"features": {
"aiTools": true,
"cloudTools": true,
"playwright": false,
"multiStage": true
},
"ports": [3000, 3001, 8000],
"customExtensions": [
"custom.extension-id"
]
}
We welcome contributions! Please see our Contributing Guide for details.
git clone https://github.com/nhangen/universal-dev-env.git
cd universal-dev-env
npm install
npm run dev
npm test
cd vscode-extension
npm run compile
npm run package
🍎 macOS: "Unsupported OS" Error
If you get "Unsupported OS" when running ./universal-setup.sh
:
# The shell script needs to be updated - download latest version
curl -fsSL https://raw.githubusercontent.com/nhangen/universal-dev-env/main/universal-setup.sh -o universal-setup.sh
chmod +x universal-setup.sh
./universal-setup.sh
🔄 Package Installed but Shell Script Failed
If npm install -g @nhangen/universal-dev-env
worked but ./universal-setup.sh
failed:
# Option 1: Update to latest script
curl -fsSL https://raw.githubusercontent.com/nhangen/universal-dev-env/main/universal-setup.sh -o universal-setup.sh
chmod +x universal-setup.sh
./universal-setup.sh
# Option 2: Use Node.js CLI instead (skip shell script)
uds install # This will install the development tools via Node.js
If setup fails or you want to start fresh:
Option 1: Clear cache and retry
# Clear all cached files and retry
uds cache --clear
uds init --no-cache
Option 2: Manual restart
# Remove project directory and start over
rm -rf your-project-name
mkdir your-project-name
cd your-project-name
uds init
Option 3: Re-run shell script
# If the shell script failed, try again
chmod +x universal-setup.sh
./universal-setup.sh
One-Command Uninstall:
uds uninstall # Interactive uninstall with options
# OR
uds uninstall --yes # Skip confirmations
Manual NPM Package Removal:
npm uninstall -g @nhangen/universal-dev-env
Remove Generated Files:
# Remove cache directory
rm -rf ~/.universal-dev-env
# Remove development scripts (optional)
rm -f ~/bin/dev-start
# Remove configuration directories (optional - will lose settings)
rm -rf ~/.config/claude-code
rm -rf ~/.config/gh
rm -rf ~/.config/gemini
Remove Installed Tools (Optional):
macOS:
# Remove via Homebrew (only if you want to completely remove these tools)
brew uninstall gh google-cloud-sdk
brew uninstall --cask docker
Windows:
# Remove via Chocolatey (optional)
choco uninstall github-cli google-cloud-sdk docker-desktop
Linux:
# Remove via package manager (optional)
sudo apt-get remove gh google-cloud-sdk # Debian/Ubuntu
# or
sudo apk del github-cli # Alpine
Clean Reset:
# Complete clean slate (removes all traces)
npm uninstall -g @nhangen/universal-dev-env
rm -rf ~/.universal-dev-env
rm -rf ~/.config/claude-code ~/.config/gh ~/.config/gemini
rm -f ~/bin/dev-start
# Then reinstall fresh
npm install -g @nhangen/universal-dev-env
uds init --no-cache
This project is licensed under the MIT License - see the LICENSE file for details.
FAQs
Universal development environment setup for modern web projects
The npm package @nhangen/universal-dev-env receives a total of 32 weekly downloads. As such, @nhangen/universal-dev-env popularity was classified as not popular.
We found that @nhangen/universal-dev-env demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket CEO Feross Aboukhadijeh discusses the recent npm supply chain attacks on PodRocket, covering novel attack vectors and how developers can protect themselves.
Security News
Maintainers back GitHub’s npm security overhaul but raise concerns about CI/CD workflows, enterprise support, and token management.
Product
Socket Firewall is a free tool that blocks malicious packages at install time, giving developers proactive protection against rising supply chain attacks.