Skip to content

feat(adds-on): add uv plugin wrapper for native subcommand support - #10

Merged
benbenbang merged 1 commit into
mainfrom
feat/uv_shell_plugin_sys
Mar 12, 2026
Merged

benbenbang merged 1 commit into
mainfrom
feat/uv_shell_plugin_sys

Conversation

@benbenbang

Copy link
Copy Markdown
Owner

This pull request introduces a new Rust-based plugin wrapper that enables uv shell to function as a native subcommand and automatically discovers and integrates uv plugins into shell completions. The main changes add the wrapper implementation and comprehensive documentation.

New uv plugin wrapper (adds-on):

  • Added a new Rust binary adds-on/src/main.rs that acts as a plugin dispatcher, intercepting uv calls to discover and execute uv-<plugin> executables from PATH
  • Implemented automatic plugin discovery so any executable named uv-<name> is recognized without registration
  • Added adds-on/Cargo.toml and adds-on/Cargo.lock for the Rust project configuration and dependencies

Documentation updates:

  • Updated README.md to document the new plugin wrapper functionality in the features section
  • Added comprehensive setup instructions including PATH configuration and optional UV_REAL_PATH environment variable for performance optimization
  • Documented the plugin delegation mechanism with examples showing how uv shell, uv add, and tab completions work through the wrapper
  • Included shell-specific completion reload instructions for zsh, bash, and fish to integrate discovered plugins into tab completion

This pull request introduces a new Rust-based plugin wrapper that enables `uv shell` to function as a native subcommand and automatically discovers and integrates uv plugins into shell completions. The main changes add the wrapper implementation and comprehensive documentation.

**New uv plugin wrapper (adds-on):**
* Added a new Rust binary `adds-on/src/main.rs` that acts as a plugin dispatcher, intercepting `uv` calls to discover and execute `uv-<plugin>` executables from PATH
* Implemented automatic plugin discovery so any executable named `uv-<name>` is recognized without registration
* Added `adds-on/Cargo.toml` and `adds-on/Cargo.lock` for the Rust project configuration and dependencies

**Documentation updates:**
* Updated `README.md` to document the new plugin wrapper functionality in the features section
* Added comprehensive setup instructions including PATH configuration and optional `UV_REAL_PATH` environment variable for performance optimization
* Documented the plugin delegation mechanism with examples showing how `uv shell`, `uv add`, and tab completions work through the wrapper
* Included shell-specific completion reload instructions for zsh, bash, and fish to integrate discovered plugins into tab completion
@github-actions github-actions Bot added documentation Improvements or additions to documentation enhancement New feature or request triage labels Mar 12, 2026
@benbenbang
benbenbang merged commit f6e3307 into main Mar 12, 2026
2 checks passed
@benbenbang
benbenbang deleted the feat/uv_shell_plugin_sys branch March 12, 2026 22:45
@ptah-technical-app

Copy link
Copy Markdown

🎉 This PR is included in version 2.1.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request released triage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant