apm marketplace
Manage marketplaces — both consuming them (registering a remote
marketplace so packages resolve by package@marketplace shorthand)
and authoring one (editing apm.yml’s marketplace: block,
validating it, and publishing updates to consumer repositories).
Synopsis
Section titled “Synopsis”# Consumeapm marketplace add SOURCE [--name N] [--ref R | --branch B] [--host FQDN]apm marketplace listapm marketplace browse NAMEapm marketplace update [NAME]apm marketplace remove NAMEapm marketplace validate NAME
# Authorapm marketplace init [--force] [--name N] [--owner O]apm marketplace migrate [--force | --dry-run]apm marketplace check [--offline]apm marketplace doctorapm marketplace outdated [--offline] [--include-prerelease]apm marketplace publish [--targets FILE] [--dry-run] [--no-pr] [...]
# Edit packages in the authoring configapm marketplace package add SOURCE [...]apm marketplace package set NAME [...]apm marketplace package remove NAME [--yes]Description
Section titled “Description”A marketplace is a git-hosted index of APM packages. Two roles interact with this command:
- Consumers register marketplaces so dependencies in
apm.ymlcan resolve by short name (my-pkg@my-marketplace) instead of a full git URL. Seeapm install. - Authors maintain a marketplace’s
apm.yml(marketplace:block) and ship updates to consumer repositories viaapm marketplace publish.
The authoring config is the marketplace: block of apm.yml in the
current working directory. Legacy marketplace.yml files are still
read; use apm marketplace migrate to fold them into apm.yml.
Subcommands
Section titled “Subcommands”apm marketplace add
Section titled “apm marketplace add”Register a marketplace from a source reference. Accepted forms:
OWNER/REPO— GitHub shorthand (acme/marketplace).HOST/OWNER/.../REPO— non-GitHub host shorthand (gitlab.com/team/marketplace).- HTTPS URL — any git host, including Azure DevOps, GitLab, Gitea, Bitbucket Server, or a self-hosted git server.
- SSH URL —
git@host:org/repo.gitstyle. - Local filesystem path — absolute (
/srv/marketplaces/agent-forge), relative (./local-mkt), or home-based (~/code/marketplace). file://URI —file:///srv/marketplaces/agent-forge.git.
# GitHub shorthandapm marketplace add my-org/awesome-agents
# GitLab via host shorthandapm marketplace add gitlab.com/my-org/awesome-agents --host gitlab.com
# Azure DevOps (auth via ADO_APM_PAT, same as `apm install`)apm marketplace add https://dev.azure.com/contoso/eng/_git/agent-forge \ --name agent-forge
# Gitea / Bitbucket Server / self-hosted gitapm marketplace add https://gitea.example.com/org/repo.git --name custom
# SSHapm marketplace add git@gitea.example.com:org/repo.git --name custom
# Local filesystem (bare repo or working directory)apm marketplace add /srv/marketplaces/agent-forge.git --name agent-forge
# file:// URIapm marketplace add file:///srv/marketplaces/agent-forge.git --name agent-forge| Flag | Description |
|---|---|
--name, -n | Display name. Defaults to the repo name. |
--ref, -r | Git ref (branch, tag, or SHA). Default: main. |
--branch, -b | Deprecated alias for --ref. |
--host | Git host FQDN. Default: github.com. Ignored when SOURCE is a URL or local path. |
--verbose, -v | Show detailed output. |
Trust boundary. APM forwards its authentication tokens
(GITHUB_APM_PAT, GITLAB_APM_PAT) only when the marketplace
host is classified as GitHub or GitLab family. For any other host
— generic HTTPS, SSH, Azure DevOps, self-hosted — the
marketplace is fetched via subprocess git through GitCache,
and authentication falls through to the host’s APM PAT (e.g.
ADO_APM_PAT for Azure DevOps) or your local
git credential-manager. See
getting-started/authentication.
Azure DevOps. ADO-hosted marketplaces fetch marketplace.json
via a sparse-cone git clone (not the ADO REST API), so authentication
uses ADO_APM_PAT — identical to how apm install handles
ADO-hosted package dependencies. See
consumer/private-and-org-packages.
apm marketplace list
Section titled “apm marketplace list”List every registered marketplace with its source URL and tracked branch.
apm marketplace listapm marketplace list --verboseapm marketplace browse NAME
Section titled “apm marketplace browse NAME”Show the packages exposed by a registered marketplace.
apm marketplace browse awesome-agentsapm marketplace update [NAME]
Section titled “apm marketplace update [NAME]”Refresh the local cache for one marketplace, or all when NAME is
omitted.
apm marketplace update # refresh every registered marketplaceapm marketplace update awesome-agents # refresh oneapm marketplace remove NAME
Section titled “apm marketplace remove NAME”Unregister a marketplace.
| Flag | Description |
|---|---|
--yes, -y | Skip the confirmation prompt. |
apm marketplace validate NAME
Section titled “apm marketplace validate NAME”Validate the manifest of a registered marketplace against the schema.
apm marketplace init
Section titled “apm marketplace init”Add a marketplace: block to apm.yml in the current directory,
scaffolding apm.yml if it does not exist.
| Flag | Description |
|---|---|
--force | Overwrite an existing marketplace: block. |
--name | Marketplace/package name. Default: my-marketplace. |
--owner | Owner name for the marketplace. |
--no-gitignore-check | Skip the .gitignore staleness check. |
apm marketplace migrate
Section titled “apm marketplace migrate”Fold a legacy marketplace.yml into the marketplace: block of
apm.yml.
| Flag | Description |
|---|---|
--force, --yes, -y | Overwrite an existing block. |
--dry-run | Preview the proposed changes without writing them. |
apm marketplace check
Section titled “apm marketplace check”Validate the schema of the authoring config and verify that every package entry resolves to a reachable git ref.
| Flag | Description |
|---|---|
--offline | Schema and cached-ref checks only; no network. |
apm marketplace doctor
Section titled “apm marketplace doctor”Run environment diagnostics for marketplace publishing: git binary,
network reachability, auth (gh/PAT), and config sanity.
apm marketplace outdated
Section titled “apm marketplace outdated”Show packages in the authoring config that have newer upstream versions available.
| Flag | Description |
|---|---|
--offline | Use cached refs only. |
--include-prerelease | Consider prerelease tags. |
apm marketplace publish
Section titled “apm marketplace publish”Push marketplace updates to one or more consumer repositories, optionally opening pull requests.
apm marketplace publish --dry-runapm marketplace publish --targets ./consumer-targets.yml --draft| Flag | Description |
|---|---|
--targets FILE | Path to consumer-targets YAML. Default: ./consumer-targets.yml. |
--dry-run | Preview without pushing or opening PRs. |
--no-pr | Push branches but skip PR creation. |
--draft | Open PRs as drafts. |
--allow-downgrade | Permit version downgrades. |
--allow-ref-change | Permit switching ref types (e.g. tag to SHA). |
--parallel N | Maximum concurrent target updates. Default: 4. |
--yes, -y | Skip the confirmation prompt. |
apm marketplace package add SOURCE
Section titled “apm marketplace package add SOURCE”Add a package entry to the authoring config. SOURCE is a git repo
reference. Mutable refs (HEAD, branches) are auto-resolved to a
concrete SHA at write time.
| Flag | Description |
|---|---|
--name | Package name. Default: repo name. |
--version | Semver range (e.g. >=1.0.0). |
--ref | Pin to a git ref (SHA, tag, or HEAD). |
--subdir, -s | Subdirectory inside the source repo. |
--tag-pattern | Tag pattern (e.g. v{version}). |
--tags | Comma-separated tags. |
--include-prerelease | Include prerelease versions. |
--no-verify | Skip the remote reachability check. |
apm marketplace package set NAME
Section titled “apm marketplace package set NAME”Update fields on an existing package entry. Same flag set as
package add minus --no-verify; only the fields you pass are
modified.
apm marketplace package remove NAME
Section titled “apm marketplace package remove NAME”Remove a package entry from the authoring config.
| Flag | Description |
|---|---|
--yes, -y | Skip the confirmation prompt. |
Options
Section titled “Options”Every subcommand accepts --verbose / -v for detailed output.
Flags listed per-subcommand above are the only command-specific
flags.
Examples
Section titled “Examples”Register an upstream marketplace and install a package from it:
apm marketplace add my-org/awesome-agentsapm install code-reviewer@awesome-agentsBootstrap a new marketplace, add a package, and verify:
apm marketplace init --name my-marketplace --owner my-orgapm marketplace package add my-org/code-reviewer --version '>=1.0.0'apm marketplace checkPreview a publish, then ship it as drafts:
apm marketplace publish --dry-runapm marketplace publish --draftRelated
Section titled “Related”apm install— consume packages from registered marketplaces.apm search— top-level shortcut forQUERY@MARKETPLACEpackage search across registered marketplaces.- Publish to a marketplace — end-to-end authoring guide.
- Manifest schema — shape of the
marketplace:block inapm.yml.