vsix 1.0.1

A command-line utility that downloads and installs .vsix extensions into Visual Studio Code and Cursor
Documentation

vsix

Crates.io Version Crates.io Downloads License Build Status CI Status GitHub Stars Rust Version docs.rs Dependencies

A command-line utility that downloads and installs .vsix extensions into Visual Studio Code and Cursor

Features

  • Search for extensions in the Visual Studio Code marketplace
  • Install extensions to Visual Studio Code or Cursor
  • Automatic system architecture detection
  • Beautiful table display for search results
  • Support for custom marketplace URLs

Platform Support

macOS Linux Windows

Installation

Homebrew (macOS and Linux)

# Coming soon - after first release
brew tap beeltec/vsix
brew install vsix

Cargo

cargo install vsix

Build from source

# Clone the repository
git clone https://github.com/beeltec/vsix.git
cd vsix

# Build the project
cargo build --release

# The binary will be available at ./target/release/vsix

Download prebuilt binaries

Prebuilt binaries are available from the releases page for:

  • macOS (Intel and Apple Silicon)
  • Linux (x86_64)
  • Windows (x86_64)

Usage

Search for extensions

vsix search python

# Sort by name
vsix search rust --sort name

# Limit results
vsix search python --limit 10

# Reverse sort order
vsix search vscode --sort downloads --reverse

Install an extension

# Install to VSCode (default)
vsix install ms-python.python

# Install to Cursor
vsix install ms-python.python --cursor

Use custom marketplace

vsix --marketplace https://custom.marketplace.com search rust

Development

Prerequisites

  • Rust 1.88 or higher
  • Cargo

Running tests

# Run all tests
cargo test

# Run tests with output
cargo test -- --nocapture

# Run specific test
cargo test test_architecture_detection

Building

# Development build
cargo build

# Release build (optimized)
cargo build --release

# Run directly with cargo
cargo run -- search python

Code Quality

# Format code
cargo fmt

# Run linter
cargo clippy

# Fix warnings
cargo fix

Project Structure

src/
├── domain/           # Core business logic
│   ├── entities.rs   # Extension entity
│   ├── value_objects.rs # Architecture detection
│   ├── repositories.rs  # Repository traits
│   └── errors.rs     # Domain errors
├── application/      # Use cases and services
│   ├── use_cases.rs  # Search and install use cases
│   └── services.rs   # Application service
├── infrastructure/   # External implementations
│   ├── marketplace_client.rs # VSCode marketplace API
│   └── file_system.rs # File system operations
├── presentation/     # User interface
│   ├── cli.rs        # CLI argument parsing
│   └── display.rs    # Output formatting
└── main.rs          # Application entry point

Contributing

Issues Pull Requests Contributors Last Commit

Contributions are welcome! Please feel free to submit a Pull Request.

Development Guidelines

  • Follow Rust best practices and idioms
  • Write tests for new functionality
  • Ensure all tests pass before submitting PR
  • Follow the existing code structure (DDD architecture)
  • Update documentation when needed

Transparency

This application was developed with assistance from Claude Code, an AI coding assistant. Claude Code helped with code implementation, testing, documentation, and CI/CD pipeline setup.

License

MIT License

This project is licensed under the MIT License - see the LICENSE file for details.