Support external plugins in marketplace.json generation#876
Merged
aaronpowell merged 1 commit intogithub:stagedfrom Mar 4, 2026
Merged
Support external plugins in marketplace.json generation#876aaronpowell merged 1 commit intogithub:stagedfrom
aaronpowell merged 1 commit intogithub:stagedfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Adds support for listing external plugins (hosted outside plugins/) by merging a curated plugins/external.json file into the generated plugin marketplace during build.
Changes:
- Introduces
plugins/external.jsonas the source of hand-curated external plugin entries. - Extends
eng/generate-marketplace.mjsto load, merge, warn on name collisions, and sort plugins by name. - Updates contributor/developer docs to explain how to add external plugins.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
plugins/external.json |
Adds a new curated list for external plugin marketplace entries. |
eng/generate-marketplace.mjs |
Loads/merges external plugins into marketplace generation, adds sorting + logging. |
CONTRIBUTING.md |
Documents the external plugin entry format and how to add them. |
AGENTS.md |
Adds workflow steps for contributing external plugins. |
You can also share your feedback on Copilot code review. Take the survey.
9045204 to
f94084b
Compare
The marketplace currently only includes plugins that live as local directories in plugins/. This makes it impossible to list plugins hosted in external GitHub repos, npm packages, or other git URLs. Add plugins/external.json as a hand-curated list of external plugin entries following the Claude Code plugin marketplace spec. The generate-marketplace script now reads this file and merges external entries as-is into the generated marketplace.json, sorted by name. Changes: - Add plugins/external.json (empty array, ready for entries) - Update eng/generate-marketplace.mjs to load, merge, and sort external plugins; warn on duplicate names; log counts - Document the external plugin workflow in CONTRIBUTING.md and AGENTS.md Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
f94084b to
8354332
Compare
aaronpowell
approved these changes
Mar 4, 2026
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.
Summary
The marketplace currently only includes plugins that live as local directories in
plugins/. This makes it impossible to list plugins hosted in external GitHub repos, npm packages, or other git URLs.This PR adds support for external plugins via a
plugins/external.jsonfile, which is merged into the generatedmarketplace.jsonduring build.Changes
plugins/external.json(new) -- Empty array, ready for hand-curated external plugin entries following the Claude Code plugin marketplace spec.eng/generate-marketplace.mjs-- AddedreadExternalPlugins()to load and mergeplugins/external.jsonentries as-is into the marketplace output. The combined list is sorted by name (case-insensitive), with duplicate-name warnings and local/external count logging.CONTRIBUTING.md-- Added "Adding External Plugins" section with JSON format examples and supported source types (github, url, npm, pip).AGENTS.md-- Added "For External Plugins" steps to the development workflow section.How it works
plugins/external.jsonwithname,source(object), anddescriptionnpm run buildreads both local plugin directories andexternal.json