🚀 vx-cli
Beautiful Command-Line Interface for the vx Universal Tool Manager
Lightning-fast CLI with beautiful progress bars and intelligent tool management
🎯 Overview
vx-cli provides the beautiful command-line interface for vx, a universal development tool manager. It offers a unified interface for managing, installing, and executing development tools across different languages and ecosystems, powered by the state-of-the-art vx-installer engine.
✨ Features
🔧 Core Functionality
- Universal Tool Execution: Run any supported tool through a single, consistent interface
- 🚀 Enhanced Auto-Installation: Download and install missing tools with beautiful progress bars
- Version Management: Install, switch, and manage multiple tool versions seamlessly
- Virtual Environments: Create isolated environments for projects with complete PATH management
🎨 Enhanced User Experience
- 📊 Beautiful Progress Bars: Rich progress tracking with ETA, transfer rates, and visual feedback
- 🌈 Colorful Output: Intuitive color-coded messages and status indicators
- ⚡ Lightning Performance: Async-first architecture with concurrent operations
- 🔒 Security First: Automatic checksum verification and secure HTTPS downloads
- 💡 Smart Error Messages: Helpful suggestions and clear error reporting with recovery hints
🛠️ Advanced Features
- Project Configuration: Support for project-specific tool configurations with TOML
- Shell Integration: Auto-completion and shell hooks for all major shells
- 📦 Universal Format Support: ZIP, TAR.GZ, TAR.XZ, TAR.BZ2, and raw binaries
- 🎯 Flexible Installation: Support for archives, binaries, scripts, and package managers
Installation
From Crates.io
From Source
Quick Start
⚡ Basic Usage with Enhanced Experience
# 🚀 Execute tools transparently with auto-installation and progress bars
# 📦 Install specific versions with visual feedback
# 📊 List available tools with rich formatting
# 🎯 Create virtual environment with beautiful setup
Project Configuration
# Initialize project configuration
# Edit .vx.toml
# Sync project tools
🚀 Enhanced Installation Experience
vx-cli is powered by the vx-installer engine, providing a state-of-the-art installation experience:
📊 Beautiful Progress Tracking
# When installing tools, you'll see beautiful progress bars like:
# 🚀 Downloading Node.js v18.17.0...
# ⬇️ [████████████████████████████████] 45.2MB/45.2MB (2.3MB/s, 0s remaining)
# 📦 Extracting archive...
# ✅ Node.js v18.17.0 installed successfully!
🔒 Security & Verification
# All downloads include automatic security features:
# - HTTPS-only downloads
# - Automatic checksum verification
# - Secure archive extraction
# - Permission validation
📦 Universal Format Support
# vx-cli handles multiple archive formats seamlessly:
# - ZIP archives (Windows tools)
# - TAR.GZ archives (Unix tools)
# - TAR.XZ archives (compressed tools)
# - Raw binaries (single executables)
Commands
Tool Execution
# Direct tool execution (transparent proxy)
# Examples
Tool Management
# Install tools
# List tools
# Update tools
# Remove tools
# Search tools
Virtual Environments
# Create environments
# Use environments
# Manage environments
Project Management
# Initialize project
# Sync project tools
# Configuration
Maintenance
# Statistics
# Cleanup
# Global tool management
Configuration
Global Configuration
Location: ~/.vx/config/global.toml
[]
= true
= 300
= false
[]
= "7d"
= 4
= false
[]
= true
= true
Project Configuration
Location: .vx.toml in project root
[]
= "18.17.0"
= "latest"
= "^1.21.0"
[]
= true
= "7d"
[]
= "npm run dev"
= "npm run build"
= "npm test"
Shell Integration
Bash/Zsh
# Add to ~/.bashrc or ~/.zshrc
Fish
# Add to ~/.config/fish/config.fish
vx shell-init | source
vx completion fish | source
PowerShell
# Add to PowerShell profile
Invoke-Expression (vx shell-init)
vx completion powershell | Out-String | Invoke-Expression
Supported Tools
Languages & Runtimes
- Node.js: JavaScript runtime and npm
- Python: UV package manager and Python tools
- Go: Go compiler and tools
- Rust: Rust compiler and Cargo
Package Managers
- npm: Node.js package manager
- UV: Fast Python package manager
- Cargo: Rust package manager
Package Runners
- npx: Node.js package runner
- uvx: Python application runner
🏗️ Architecture
vx-cli is built on top of a modern, modular architecture:
Core Components
- vx-core: Core traits and functionality with enhanced error handling
- 🆕 vx-installer: Universal installation engine with progress tracking
- vx-config: Advanced configuration management with TOML support
- vx-plugin: Extensible plugin system with trait-based design
Plugin Ecosystem
- Tool Plugins: Individual tool implementations (Node.js, Go, Rust, UV)
- Package Manager Plugins: Package manager integrations (npm, Cargo)
- UI Components: Rich terminal interface with beautiful progress bars
Installation Pipeline
User Command → vx-cli → vx-core → vx-installer → Tool Installation
↓
Progress Tracking & Security
Development
Building
Testing
Running
Debugging
# Enable verbose logging
RUST_LOG=debug
# Or use the verbose flag
Error Handling
vx-cli provides detailed error messages and suggestions:
⚡ Performance
Enhanced Performance Features
- 🚀 Lightning Startup: Optimized for sub-second command execution
- 📊 Concurrent Operations: Multiple tools downloaded and installed simultaneously
- 💾 Smart Caching: Version information and downloads intelligently cached
- 🔧 Lazy Loading: Plugins loaded only when needed for minimal overhead
- ⚡ Async Architecture: Non-blocking operations with beautiful progress tracking
Benchmarks
| Operation | Time | Memory | Notes |
|---|---|---|---|
| Tool execution | <100ms | 8MB | Cached tools |
| First-time install | 2-5s | 12MB | With progress bars |
| Version switching | <50ms | 4MB | Symlink-based |
| Configuration load | <10ms | 2MB | TOML parsing |
Troubleshooting
Common Issues
- Tool not found: Run
vx listto see available tools - Installation fails: Check network connection and permissions
- Version conflicts: Use
vx cleanupto remove orphaned versions - Shell integration: Ensure shell configuration is properly loaded
Debug Mode
# Enable debug logging
# Check configuration
# Verify installation
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please see the contributing guidelines for more information.
🔗 Related Crates
vx-installer- 🆕 Universal installation engine with progress trackingvx-core- Core functionality and utilitiesvx-config- Configuration management systemvx-plugin- Plugin system and trait definitionsvx-tool-node- Node.js plugin with NPX supportvx-tool-uv- UV Python plugin with UVX supportvx-pm-npm- NPM package manager plugin
Experience the future of development tool management