π 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
- ποΈ 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
π¨ 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
π Quick Start
Installation
Quick Install (Recommended)
Linux/macOS:
|
Windows (PowerShell):
powershell -c "irm https://raw.githubusercontent.com/loonghao/vx/main/install.ps1 | iex"
Advanced Installation Options
Install specific version:
# Linux/macOS
VX_VERSION="0.1.0" |
# Windows
$env:VX_VERSION="0.1.0";
Install to custom directory:
# Linux/macOS
VX_INSTALL_DIR="/bin" |
# Windows
$env:VX_INSTALL_DIR="C:\tools\vx";
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
# π― 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
π Package Management
Multi-Version Support
# Install multiple versions
# List installed versions
# 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
π οΈ Development
Prerequisites
- Rust 1.70+
- Cargo
Building
Testing
Plugin Development
See MODULAR_ARCHITECTURE.md for detailed plugin development guide.
π Roadmap
Current Status (v0.2.x)
- β 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
- β π 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