feat: add plugin system for installing extensions from GitHub repos#11975
Draft
roomote-v0[bot] wants to merge 1 commit intomainfrom
Draft
feat: add plugin system for installing extensions from GitHub repos#11975roomote-v0[bot] wants to merge 1 commit intomainfrom
roomote-v0[bot] wants to merge 1 commit intomainfrom
Conversation
Implements a plugin system that acts as a distribution and installation mechanism on top of existing Roo Code extension points (slash commands, custom modes, MCP servers, and skills). New components: - Plugin manifest schema (plugin.json) with Zod validation - GitHubSource: fetch plugin manifests and files from GitHub repos - PluginInstaller: install/remove commands, modes, MCP configs, skills - PluginManager: orchestrate install/remove/list with tracking - /plugin built-in command for agent-driven plugin management - 25 new tests covering all components Addresses #11974
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related GitHub Issue
Closes: #11974
Description
This PR attempts to address Issue #11974 by introducing an MVP plugin system that acts as a distribution and installation mechanism on top of existing Roo Code extension points. Feedback and guidance are welcome.
Key implementation details:
packages/types/src/plugin.ts): Zod-validatedplugin.jsonformat that defines what a plugin bundles (commands, modes, MCP servers, skills)src/services/plugin/GitHubSource.ts): Fetches plugin manifests and files from GitHub repos via raw content API. Supportsowner/repoandowner/repo@refformatssrc/services/plugin/PluginInstaller.ts): Handles installing/removing each extension point type into the correct locations (.roo/commands/,.roomodes,mcp_settings.json,.roo/skills/)src/services/plugin/PluginManager.ts): Orchestrates install/remove/list with tracking viaplugins.json/plugincommand (src/services/command/built-in-commands.ts): Provides agent instructions for plugin management (install, remove, list)Design decisions:
plugin.jsonmanifest at the rootplugins.json(project or global scope)fetch,yaml,zodTest Procedure
Run tests:
Pre-Submission Checklist
Documentation Updates
Plugin manifest format documentation and usage examples should be added as part of follow-up work once the design is reviewed and approved.
Interactively review PR in Roo Code Cloud