Plugin marketplace management commands.
Wraps claude plugin marketplace add|remove|list|update.
Usage
config = ClaudeWrapper.Config.new()
# List configured marketplaces
{:ok, marketplaces} = ClaudeWrapper.Commands.Marketplace.list(config)
# Add a marketplace from a URL or GitHub repo
{:ok, _} = ClaudeWrapper.Commands.Marketplace.add(config, "https://github.com/org/marketplace")
# Add with sparse checkout for monorepos
{:ok, _} = ClaudeWrapper.Commands.Marketplace.add(config, "https://github.com/org/repo",
sparse: [".claude-plugin", "plugins"]
)
# Remove a marketplace
{:ok, _} = ClaudeWrapper.Commands.Marketplace.remove(config, "my-marketplace")
# Update all marketplaces
{:ok, _} = ClaudeWrapper.Commands.Marketplace.update(config)
Summary
Functions
Add a marketplace from a URL, path, or GitHub repo.
List all configured marketplaces.
Remove a configured marketplace by name.
Update marketplace(s) from their source.
Types
Functions
@spec add(ClaudeWrapper.Config.t(), String.t(), keyword()) :: {:ok, String.t()} | {:error, term()}
Add a marketplace from a URL, path, or GitHub repo.
Options
:scope- Where to declare the marketplace (:user,:project, or:local). Default::user.:sparse- List of directories for git sparse-checkout (for monorepos).
@spec list(ClaudeWrapper.Config.t()) :: {:ok, [map()]} | {:error, term()}
List all configured marketplaces.
@spec remove(ClaudeWrapper.Config.t(), String.t()) :: {:ok, String.t()} | {:error, term()}
Remove a configured marketplace by name.
@spec update(ClaudeWrapper.Config.t(), String.t() | nil) :: {:ok, String.t()} | {:error, term()}
Update marketplace(s) from their source.
If no name is given, updates all marketplaces.