Plugin marketplace: add explicit update command and prevent shallow clone history accumulation
- Dominant language
- Shell
- Stars
- 11.2k
- Forks
- 1.9k
- Avg merge
- 14h 16m
- Merged PRs (30d)
- 6
Description
Summary
Two minor feature gaps related to plugin marketplace management:
1. No explicit /plugin marketplace update command
Currently, the only way to update a marketplace is implicitly through /plugin marketplace browse, which triggers a git pull under the hood. This behavior is non-obvious and undocumented.
Current marketplace subcommands:
- /plugin marketplace add
- /plugin marketplace remove
- /plugin marketplace list
- /plugin marketplace browse
Suggestion: Add /plugin marketplace update (or update --all) as a dedicated subcommand so users can explicitly refresh marketplace catalogs without needing to browse.
2. Shallow clone history accumulates over time
When a marketplace is first added, it's cloned as a shallow clone (--depth 1). However, subsequent updates (triggered by browse) append new commits rather than re-shallowing. Over time, the local clone at ~\AppData\Local\copilot\marketplaces\\ grows
unbounded.
For a marketplace, only the latest state of the plugins/ directory matters — intermediate commit history is unnecessary.
Suggestion: Use git fetch --depth 1 (or equivalent) during updates to keep the clone minimal, rather than a standard git pull that accumulates history.
Impact
Neither issue is critical. Both are quality-of-life improvements — the first for discoverability, the second for disk efficiency on machines with many marketplaces or frequent updates.
Contributor guide
Assessment
This issue has not been assessed yet.