π vx - Universal Development Tool Manager
The Ultimate Development Tool Manager - One Tool to Rule Them All
δΈζζζ‘£ | π Documentation | π Quick Start | π‘ Examples
Lightning-fast, format-agnostic development tool manager with beautiful progress tracking
π― What is vx?
vx is a powerful, fast, and extensible development tool manager that provides a unified interface for managing, installing, and executing development tools across different languages and ecosystems. Think of it as a combination of nvm, rustup, pyenv, and package managers, all in one lightning-fast tool.
π‘ Design Philosophy
The Problem We Solve
Every time we start a new development project, we face the same frustrating cycle:
- Install Node.js and npm for frontend tools
- Set up Python and pip/uv for scripts and automation
- Configure Go for backend services
- Manage Rust toolchain for system tools
- Deal with version conflicts and PATH issues
- Repeat this process across different machines and environments
With the rise of MCP (Model Context Protocol), this problem has become even more pronounced. Many MCP servers require uvx for Python tools and npx for Node.js packages, forcing developers to manage multiple tool ecosystems just to get AI assistance working.
Our Solution: Zero Learning Curve
vx eliminates this complexity while maintaining zero learning curve:
# Instead of learning and managing multiple tools:
# Just use vx with the same commands you already know:
π Why vx?
- π Universal Interface: Execute any supported tool through a single, consistent interface
- π Zero Learning Curve: Use the exact same commands you already know (
npx,uvx,go, etc.) - β‘ Lightning Fast: Built in Rust with async-first architecture for maximum performance
- π Auto-Installation: Automatically download and install missing tools with beautiful progress bars
- π Environment Isolation: All tools run in vx-managed environments (no system PATH conflicts)
- π¦ Format Agnostic: Supports ZIP, TAR.GZ, TAR.XZ, TAR.BZ2, and raw binaries
- π¨ Beautiful UX: Rich progress bars, colorful output, and intuitive commands
- π€ MCP Ready: Perfect for MCP servers - just prefix commands with
vx
π Latest Improvements (v0.3.0)
- π Self-Update System: Built-in self-update with GitHub token support to avoid rate limits
- π Unified Path Management: New vx-paths system for standardized tool installation paths
- π Enhanced Tool Discovery: Improved
listandwhichcommands with detailed status information - ποΈ Modular Architecture: Complete rewrite with vx-installer engine for better maintainability
- π Advanced Progress Tracking: Beautiful progress bars with ETA and transfer rates
- π§ Enhanced Installation System: Support for multiple archive formats and installation methods
- π Plugin System: Extensible architecture with built-in and external plugin support
- π‘οΈ Security First: Built-in checksum verification and secure downloads
- π Cross-Platform: Seamless operation on Windows, macOS, and Linux
β¨ Features
π― Core Features
- π Universal Interface: Execute any supported tool through a single, consistent interface
- π¦ Multi-Version Management: Install, manage, and switch between multiple versions of tools
- β‘ Zero Configuration: Works out of the box with intelligent defaults
- π Auto-Installation: Automatically download and install missing tools with beautiful progress tracking
- π― Project-Specific: Support for project-level tool configurations
- π Plugin Architecture: Modular design with extensible plugin system
- π Self-Update System: Built-in updates with GitHub token support to avoid API rate limits
- π Unified Path Management: Standardized tool installation paths across all platforms
π¨ Enhanced CLI Experience
- π Beautiful Progress Bars: Rich progress bars with ETA, transfer rates, and visual feedback
- π Colorful Output: Better visual distinction with colored messages and emojis
- β³ Smooth Animations: Elegant loading indicators and spinner animations
- π€ Interactive Experience: User-friendly prompts and confirmation dialogs
- π‘ Smart Error Messages: Helpful suggestions and clear error reporting with recovery hints
- π§ Environment Control:
--use-system-pathflag for flexible tool execution
π οΈ Advanced Installation Engine
- π¦ Universal Format Support: ZIP, TAR.GZ, TAR.XZ, TAR.BZ2, and raw binaries
- π Security First: Built-in checksum verification and secure HTTPS downloads
- β‘ Async Performance: Lightning-fast concurrent downloads and installations
- π¨ Customizable Progress: Multiple progress styles (default, simple, minimal, custom)
- π§ Flexible Methods: Support for archives, binaries, scripts, and package managers
- π Cross-Platform: Seamless operation across Windows, macOS, and Linux
ποΈ Modern Architecture
- π Package Management: Chocolatey-like layered package management system
- π Smart Discovery: Automatic tool detection and intelligent version resolution
- βοΈ Configuration Management: Global and project-level configuration with TOML support
- π Dependency Tracking: Advanced dependency management and conflict resolution
- π§Ή Maintenance Tools: Automated cleanup of orphaned packages and cache management
- π Rich CLI: Comprehensive command-line interface with detailed help and examples
- π Unified Path Management: Standardized tool paths (
~/.vx/tools/<tool>/<version>/) across all platforms
π Quick Start
Installation
π Quick Install (Recommended)
Linux/macOS:
|
Windows (PowerShell):
powershell -c "irm https://raw.githubusercontent.com/loonghao/vx/main/install.ps1 | iex"
π§ Smart Install (Multi-Channel with Auto-Fallback)
For the most reliable installation experience with automatic fallback to multiple distribution channels:
Linux/macOS:
|
This smart installer automatically:
- π Detects your geographic region for optimal CDN selection
- β‘ Tests channel speeds and selects the fastest available
- π Falls back to alternative channels if primary fails
- π Shows detailed progress with beautiful progress bars
π§ Advanced Installation Options
Install specific version:
# Linux/macOS
VX_VERSION="0.1.0" |
# Windows
$env:VX_VERSION="0.1.0";
Install with GitHub token (avoids rate limits):
# Linux/macOS
GITHUB_TOKEN="your_token_here" |
# Windows
$env:GITHUB_TOKEN="your_token_here";
Install to custom directory:
# Linux/macOS
VX_INSTALL_DIR="/bin" |
# Windows
$env:VX_INSTALL_DIR="C:\tools\vx";
Force specific distribution channel:
# Use jsDelivr CDN (good for China/Asia)
VX_FORCE_CHANNEL="jsdelivr" |
# Use Fastly CDN (good for Europe)
VX_FORCE_CHANNEL="fastly" |
# Use GitHub directly (good for Americas)
VX_FORCE_CHANNEL="github" |
π Multi-Channel Distribution
vx uses a sophisticated multi-channel distribution system to ensure reliable downloads worldwide:
| Channel | Description | Best For | Rate Limits |
|---|---|---|---|
| GitHub Releases | Primary distribution | Americas, authenticated users | 60/hour (unauth), 5000/hour (auth) |
| jsDelivr CDN | Global CDN with China support | Asia-Pacific, China | Unlimited |
| Fastly CDN | High-performance global CDN | Europe, global | Unlimited |
Automatic Fallback: If one channel fails, the installer automatically tries the next available channel.
Package Managers
Chocolatey (Windows):
choco install vx
Scoop (Windows):
scoop bucket add loonghao https://github.com/loonghao/scoop-vx.git
scoop install vx
WinGet (Windows):
winget install loonghao.vx
Homebrew (macOS):
Arch Linux (AUR):
# Using yay
# Using paru
Cargo (from source):
Manual Installation
Download the latest release from GitHub Releases and extract to your PATH.
Build from Source
# Build and install using the installer (recommended)
# Linux/macOS
BUILD_FROM_SOURCE=true
# Windows
# Or build manually
# copy target\release\vx.exe %USERPROFILE%\.local\bin\ # Windows
β‘ Quick Examples: Same Commands, Better Experience
# π― Use the EXACT same commands you already know - just add 'vx'!
# Python development (no Python setup required)
# Node.js development (no Node.js setup required)
# Go development (no Go setup required)
# Rust development (no Rust setup required)
# π€ Perfect for MCP servers - just prefix with 'vx':
# Instead of: npx @browsermcp/mcp@latest
# Use: vx npx @browsermcp/mcp@latest
# Instead of: uvx some-python-tool
# Use: vx uvx some-python-tool
# π§ Advanced features when you need them
# π Self-update with GitHub token support (solves rate limit issues)
# π― Version management with beautiful progress bars
# βοΈ Project configuration
π Supported Tools
π§ Built-in Plugins
| Tool | Commands | Category | Auto-Install | Progress Bars | Description |
|---|---|---|---|---|---|
| UV | vx uv pip, vx uv venv, vx uv run, vx uv add |
Python | β | β | Extremely fast Python package installer |
| UVX | vx uvx <package>, vx uvx ruff, vx uvx black |
Python | β | β | Python application runner (via UV) |
| Node.js | vx node, vx npm, vx npx |
JavaScript | β | β | JavaScript runtime and package manager |
| NPX | vx npx <package>, vx npx create-react-app |
JavaScript | β | β | Node.js package runner |
| Go | vx go build, vx go run, vx go test |
Go | β | β | Go programming language toolchain |
| Rust | vx cargo build, vx cargo run, vx cargo test |
Rust | β | β | Rust programming language and Cargo |
π― Installation Features
- π Beautiful Progress Bars: Real-time download progress with ETA and transfer rates
- π Secure Downloads: HTTPS-only with automatic checksum verification
- π¦ Multiple Formats: ZIP, TAR.GZ, TAR.XZ, TAR.BZ2, and raw binaries
- β‘ Concurrent Operations: Parallel downloads for maximum speed
- π¨ Customizable Styles: Choose from default, simple, minimal, or custom progress styles
- π§ Flexible Methods: Archives, binaries, scripts, and package managers
ποΈ Plugin Categories
- Languages: Go, Rust, Node.js, Python (via UV)
- Package Managers: npm, Cargo, UV (pip-compatible)
- Package Runners: npx, uvx (with complete environment isolation)
- Build Tools: Go build, Cargo, and language-specific toolchains
- Runtimes: Node.js with automatic version management
π vx-installer Engine
vx is powered by the vx-installer engine, a state-of-the-art installation system that provides:
β¨ Advanced Installation Features
- π Beautiful Progress Tracking: Rich progress bars with ETA, transfer rates, and visual feedback
- π¦ Universal Format Support: ZIP, TAR.GZ, TAR.XZ, TAR.BZ2, and raw binaries
- β‘ Lightning Performance: Async-first architecture with concurrent downloads
- π Security First: Built-in checksum verification and secure HTTPS downloads
- π¨ Customizable Experience: Multiple progress styles and installation methods
π― Installation Methods
| Method | Description | Use Case | Progress |
|---|---|---|---|
| Archive | Extract from compressed archives | Tools distributed as ZIP/TAR | β |
| Binary | Direct binary installation | Single executable tools | β |
| Script | Run installation scripts | Custom installation logic | β |
| Package Manager | Use system package managers | System-wide installations | β |
π Performance Benchmarks
| Operation | Archive Size | Time | Memory Usage |
|---|---|---|---|
| Download | 50MB | 2.3s | 8MB |
| Extract ZIP | 100MB | 1.8s | 12MB |
| Extract TAR.GZ | 100MB | 2.1s | 10MB |
| Install Binary | 25MB | 0.5s | 4MB |
Benchmarks on Intel i7-10700K, 32GB RAM, SSD storage
π MCP Integration: The Perfect Solution
vx was designed with MCP (Model Context Protocol) in mind. Many MCP servers require uvx and npx, but setting up these tools can be complex and error-prone. vx solves this with zero configuration and zero learning curve.
The MCP Challenge
MCP servers often require multiple tool ecosystems:
# Traditional setup requires managing multiple tools:
# Plus dealing with PATH conflicts, version mismatches, etc.
The vx Solution: Just Add vx
With vx, you simply prefix your existing commands with vx - no learning curve, no configuration:
Before (Complex Setup Required)
After (Zero Setup with vx)
π― What You Get
- π Zero Learning Curve: Use the exact same
npxanduvxcommands you already know - π Zero Configuration: No need to install Node.js, Python, UV, or manage PATH
- π Complete Isolation: MCP tools run in isolated environments, no conflicts
- π Beautiful Progress: See exactly what's happening with rich progress bars
- π‘οΈ Security First: Automatic checksum verification and secure downloads
- π Cross-Platform: Identical behavior on Windows, macOS, and Linux
- β‘ Lightning Fast: Concurrent downloads and installations
ποΈ Project Architecture
vx is built with a modern, modular architecture that emphasizes performance, extensibility, and maintainability. The recent vx-installer integration brings state-of-the-art installation capabilities.
π¦ Core Components
vx/
βββ vx-cli/ # Command-line interface with rich UX
βββ vx-core/ # Core functionality and utilities
βββ vx-installer/ # π Universal installation engine
βββ vx-config/ # Configuration management (TOML-based)
βββ vx-plugin/ # Plugin system and trait definitions
βββ vx-tools/ # Built-in tool plugins
β βββ vx-tool-node/ # Node.js support with NPX integration
β βββ vx-tool-go/ # Go toolchain support
β βββ vx-tool-rust/ # Rust and Cargo support
β βββ vx-tool-uv/ # UV (Python) with UVX support
βββ vx-package-managers/ # Package manager plugins
βββ vx-pm-npm/ # NPM package manager integration
π vx-installer Engine
The heart of vx's installation system, providing:
- π¦ Format Handlers: ZIP, TAR.GZ, TAR.XZ, TAR.BZ2, Binary
- π Progress System: Beautiful progress bars with customizable styles
- π Security Layer: Checksum verification and secure downloads
- β‘ Async Core: High-performance concurrent operations
- π§ Extensible: Plugin-based format and method support
π― Design Principles
- π Plugin Architecture: Extensible design with trait-based plugins
- β‘ Performance First: Rust-powered with async-first operations
- π‘οΈ Safety & Security: Memory safety, error handling, and secure downloads
- π§ Modularity: Clean separation of concerns with focused crates
- π¦ Composability: Mix and match components as needed
- π¨ User Experience: Beautiful CLI with progress tracking and helpful messages
βοΈ Configuration
Global Configuration
~/.config/vx/config.toml:
[]
= true # Auto-install missing tools
= true # Check for updates
= "24h" # Update check frequency
[]
= "0.5.26"
= "official"
[]
= "20.11.0"
= "official"
[]
= "1.21.6"
Project Configuration
.vx.toml:
[]
= "0.5.26"
= "20.11.0"
= "1.21.6"
[]
= true
Plugin Configuration
# List all plugins
# Get plugin info
# Enable/disable plugins
# Search plugins
π― Real-World Examples
Python Development with UV
# Create a new Python project
# Add dependencies
# Run the application
# Run tests
# Use uvx for Python applications (with environment isolation)
# All tools run in vx-managed environments
Node.js Development
# Install and use Node.js
# Use npx for one-time tools (with environment isolation)
# All tools run in vx-managed environments
Go Development
# Initialize Go module
# Build and run
# Test
Rust Development
# Create new Rust project
# Add dependencies
# Build and run
Multi-Language Project
# Frontend (Node.js) + Backend (Go) + Scripts (Python)
# Run different parts
π Self-Update System
vx includes a powerful self-update system that solves GitHub API rate limit issues commonly encountered in shared environments.
π Quick Update
# Check for updates
# Update to latest version
# Update with GitHub token (recommended for teams/shared networks)
# Include pre-release versions
# Force update even if already up to date
π GitHub Token Support
Problem: GitHub's public API has a rate limit of 60 requests per hour for unauthenticated users. In shared environments (offices, schools, apartments), multiple users may hit this limit.
Solution: Use a GitHub token to increase the rate limit to 5,000 requests per hour:
# Create a GitHub token at: https://github.com/settings/tokens
# No special permissions needed - just basic access
# Use token for updates
# Or set as environment variable
π Update Features
- π Smart Detection: Automatically detects current and latest versions
- π¦ Cross-Platform: Supports Windows, macOS, and Linux binaries
- π Secure Downloads: HTTPS-only with automatic verification
- π Release Notes: Shows changelog for new versions
- π Backup & Rollback: Automatically backs up current version
- β‘ Fast Downloads: Concurrent downloads with progress bars
- π― Format Support: ZIP, TAR.GZ archives and raw binaries
π Package Management
Multi-Version Support
# Install multiple versions
# List installed versions with detailed status
# Show tool installation paths
# Switch between versions
# Remove specific versions
# Cleanup orphaned packages
Package Statistics
# View package statistics
# Output:
# π Package Statistics:
# π¦ Total packages: 3
# π’ Total versions: 5
# πΎ Total size: 2.1 GB
# π Last updated: 2025-01-30 10:30:00 UTC
π§ Troubleshooting
Installation Issues
GitHub API Rate Limit Exceeded
Problem: Getting "API rate limit exceeded" error during installation.
Solutions:
-
Use GitHub Token (Recommended):
# Linux/macOS GITHUB_TOKEN="your_token_here" | # Windows $env:GITHUB_TOKEN="your_token_here"; -
Specify Version Explicitly:
VX_VERSION="0.1.0" | -
Use Smart Installer with CDN Fallback:
| -
Use Package Managers:
# Windows # macOS
Download Failures
Problem: Downloads fail or are very slow.
Solutions:
-
Force Specific Channel:
# Use jsDelivr CDN (good for Asia/China) VX_FORCE_CHANNEL="jsdelivr" | # Use Fastly CDN (good for Europe) VX_FORCE_CHANNEL="fastly" | -
Enable Debug Mode:
VX_DEBUG=true | -
Build from Source:
BUILD_FROM_SOURCE=true |
Network Issues in China
Problem: Slow or failed downloads due to network restrictions.
Solutions:
-
Use jsDelivr CDN:
VX_FORCE_CHANNEL="jsdelivr" | -
Use Mirror URLs:
|
Runtime Issues
Tool Not Found
Problem: vx: command not found after installation.
Solutions:
-
Add to PATH manually:
-
Check installation location:
Permission Denied
Problem: Permission errors when running vx.
Solutions:
-
Fix permissions:
-
Check ownership:
Getting Help
If you're still experiencing issues:
-
Enable Debug Mode:
VX_DEBUG=true -
Check System Requirements:
- Linux: glibc 2.17+ or musl
- macOS: 10.12+
- Windows: Windows 10+
-
Report Issues:
- GitHub Issues
- Include debug output and system information
π οΈ Development
Prerequisites
- Rust 1.70+
- Cargo
Building
Testing
Plugin Development
See MODULAR_ARCHITECTURE.md for detailed plugin development guide.
π Roadmap
Current Status (v0.3.0)
- β Core plugin architecture with trait-based extensibility
- β 6 built-in tools (UV, UVX, Node.js, NPX, Go, Rust)
- β Environment isolation system with complete PATH management
- β π Self-update system with GitHub token support for rate limit avoidance
- β
π Unified path management with vx-paths system (
~/.vx/tools/<tool>/<version>/) - β
π Enhanced tool discovery with improved
list --statusandwhich --allcommands - β vx-installer engine with universal format support
- β Beautiful progress bars with ETA and transfer rates
- β Security-first downloads with checksum verification
- β Async installation system with concurrent operations
- β Multi-version package management with intelligent switching
- β MCP integration support for seamless proxy usage
- β Package runner support (npx, uvx) with environment isolation
- β Project configuration support with TOML-based configs
Upcoming Features
π§ New Tool Support (Phase 7)
- just - Modern command runner and build tool (
vx just --list,vx just build) - kubectl - Kubernetes command-line tool (
vx kubectl get pods,vx kubectl apply) - deno - Modern JavaScript/TypeScript runtime (
vx deno run,vx deno task) - podman - Container management (
vx podman run,vx podman build) - zig - Systems programming language (
vx zig build,vx zig run)
π Enhanced Features
- Enhanced Package Managers: pnpm, yarn, bun with full vx-installer integration
- System Package Managers: Homebrew, Chocolatey, apt, yum support
- Specialized Tools: Rez for VFX, Spack for HPC environments
- External Plugin Support: .dll, .so, and script-based plugins
- Plugin Marketplace: Community-driven plugin ecosystem
- Advanced Installation Methods: Docker, containers, and virtual environments
- GUI Interface: Desktop application with visual tool management
- CI/CD Integrations: GitHub Actions, GitLab CI, Jenkins plugins
- Team Configuration Sync: Shared configurations and tool versions
- Performance Optimizations: Caching, parallel operations, and smart updates
π€ Contributing
We welcome contributions! Here's how you can help:
- Report Issues: Found a bug? Open an issue
- Feature Requests: Have an idea? Start a discussion
- Plugin Development: Create plugins for new tools
- Documentation: Improve docs and examples
- Code Contributions: Submit pull requests
π Release Process
This project uses Release Please for automated releases:
- Follow Conventional Commits specification
- Automatic versioning: Version bumps based on commit types
- Automatic changelog: Generated from commit history
- Automatic releases: GitHub releases created when Release PR is merged
# New feature (bumps minor version)
# Bug fix (bumps patch version)
# Breaking change (bumps major version)
See Release Guide for detailed guidelines.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π Acknowledgments
- Inspired by tools like
asdf,mise,proto, andchocolatey - Built with β€οΈ using Rust and modern development practices
- Special thanks to the Rust community and all contributors
π Support
- π Documentation: Full documentation
- π¬ Discussions: GitHub Discussions
- π Issues: Bug Reports
- π§ Contact: hal.long@outlook.com
Made with β€οΈ for developers, by developers