feat(config): add disabled_plugins support for per-project plugin filtering#16509
Open
JWhiteCat wants to merge 1 commit intoanomalyco:devfrom
Open
feat(config): add disabled_plugins support for per-project plugin filtering#16509JWhiteCat wants to merge 1 commit intoanomalyco:devfrom
JWhiteCat wants to merge 1 commit intoanomalyco:devfrom
Conversation
…tering Allow disabling specific plugins by name via the disabled_plugins config field. Follows the same pattern as disabled_providers - accepts an array of canonical plugin names that are matched using getPluginName(). The field merges across config levels (global + project), so both global and project-level disabling works. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Contributor
|
Thanks for updating your PR! It now meets our contributing guidelines. 👍 |
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.
Issue for this PR
N/A (new feature, no existing issue)
Type of change
What does this PR do?
Adds a
disabled_pluginsconfig field that lets users disable specific plugins by name per-project. Follows the same pattern as the existingdisabled_providers— accepts an array of canonical plugin names matched viagetPluginName()(supportsnpm-pkg@version,@scope/pkg@version,file://URLs). The field merges across config levels throughmergeConfigConcatArrays, so both global and project-level disabling work together.Example usage in
opencode.json:{ "disabled_plugins": ["oh-my-opencode"] }Changes:
packages/opencode/src/config/config.ts: Addeddisabled_pluginstomergeConfigConcatArrays, added the field toInfoschema, added filtering logic afterdeduplicatePlugins().packages/opencode/test/config/config.test.ts: Added 4 test cases covering basic filtering, project-level override, scoped package matching, and cross-level merging.How did you verify your code works?
Ran the 4 new test cases in
packages/opencode/test/config/config.test.ts— all pass. Also manually verified by addingdisabled_pluginsto a localopencode.jsonand confirming the specified plugin was excluded from the loaded plugin list.Screenshots / recordings
N/A (no UI changes)
Checklist