vx-cli
Command-line interface for the vx universal tool manager.
Overview
vx-cli provides the 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.
Features
- Universal Tool Execution: Run any supported tool through a single interface
- Automatic Installation: Download and install missing tools automatically
- Version Management: Install, switch, and manage multiple tool versions
- Virtual Environments: Create isolated environments for projects
- Project Configuration: Support for project-specific tool configurations
- Interactive UI: Rich terminal interface with progress bars and colors
- Shell Integration: Auto-completion and shell hooks
Installation
From Crates.io
From Source
Quick Start
Basic Usage
# Execute tools transparently
# Install specific versions
# List available tools
# Create virtual environment
Project Configuration
# Initialize project configuration
# Edit .vx.toml
# Sync project tools
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 several core components:
- vx-core: Core traits and functionality
- Tool Plugins: Individual tool implementations
- Package Manager Plugins: Package manager integrations
- UI Components: Terminal interface and progress tracking
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
- Fast Startup: Optimized for quick command execution
- Parallel Downloads: Multiple tools can be downloaded simultaneously
- Caching: Version information and downloads are cached
- Lazy Loading: Plugins are loaded only when needed
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-core- Core functionalityvx-tool-node- Node.js pluginvx-tool-uv- UV Python pluginvx-pm-npm- NPM plugin