II.
Page JSON
Structured · livepage:docs-harness-features-backlog-gaps-ecosystem-gap-eco-002
GAP-ECO-002: CC Marketplace Protocol Support json
Inspect the normalized record payload exactly as the atlas UI reads it.
{
"id": "page:docs-harness-features-backlog-gaps-ecosystem-gap-eco-002",
"_kind": "Page",
"_file": "wiki/docs/harness-features-backlog/gaps/ecosystem/gap-eco-002.md",
"_cluster": "wiki",
"attributes": {
"nodeKind": "Page",
"sourcePath": "docs/harness-features-backlog/gaps/ecosystem/GAP-ECO-002.md",
"sourceKind": "repo-docs",
"title": "GAP-ECO-002: CC Marketplace Protocol Support",
"displayName": "GAP-ECO-002: CC Marketplace Protocol Support",
"slug": "docs/harness-features-backlog/gaps/ecosystem/gap-eco-002",
"articlePath": "wiki/docs/harness-features-backlog/gaps/ecosystem/GAP-ECO-002.md",
"article": "\n# GAP-ECO-002: CC Marketplace Protocol Support\n\n| Field | Value |\n|-------|-------|\n| Category | ecosystem |\n| Priority | High |\n| Effort | L |\n| Status | Missing |\n\n## Description\nSupport CC's marketplace protocol for discovering, installing, and updating\nplugins from CC marketplaces (including `claude-plugins-official`,\n`claude-code-marketplace`, etc.).\n\n## CC Marketplace Architecture\n\nCC's marketplace system (`src/utils/plugins/marketplaceManager.ts`, `marketplaceHelpers.ts`):\n- Git-based marketplace repositories (clone, pull, browse)\n- Official marketplace names reserved for Anthropic (`ALLOWED_OFFICIAL_MARKETPLACE_NAMES`)\n- Anti-impersonation rules (`BLOCKED_OFFICIAL_NAME_PATTERN`)\n- Non-ASCII detection for homograph attack prevention\n- Auto-update support per marketplace\n- Plugin install counts tracking (`installCounts.ts`)\n- Zip cache for faster installs (`zipCache.ts`, `zipCacheAdapters.ts`)\n- Headless install support (`headlessPluginInstall.ts`)\n- Plugin reconciliation (`reconciler.ts`) -- ensures installed plugins match desired state\n- Plugin startup check (`pluginStartupCheck.ts`) -- validates on boot\n\n## Current State\nBabysitter has its own marketplace system (`blueprints/a5c/marketplace/`) with\n`marketplace.json` and plugin entries. The protocol is similar (git-based) but\nNOT compatible with CC's marketplace format. Cannot install CC marketplace blueprints.\n\n## Target State\nBabysitter can add CC marketplaces as sources and install CC plugins from them.\nThe `plugin:add-marketplace` command accepts CC marketplace URLs. Plugin resolution\nfollows CC's directory structure and manifest format.\n\n## Dependencies\nNone. ECO-002 is foundational -- ECO-001 depends on it, not the reverse.\n\n## Key Files\n| Component | Path |\n|-----------|------|\n| Babysitter marketplace | `packages/babysitter-sdk/src/plugins/marketplace.ts` |\n| CC marketplace manager | `src/utils/plugins/marketplaceManager.ts` |\n| CC marketplace helpers | `src/utils/plugins/marketplaceHelpers.ts` |\n| CC schemas | `src/utils/plugins/schemas.ts` |\n\n## Recommendation\nPhase 2. Map CC marketplace directory structure to babysitter's resolver.\nAdd a `format: 'cc'` flag to marketplace entries so babysitter knows to use\nCC-compatible loading.\n",
"documents": []
},
"outgoingEdges": [],
"incomingEdges": [
{
"from": "page:docs-harness-features-backlog",
"to": "page:docs-harness-features-backlog-gaps-ecosystem-gap-eco-002",
"kind": "contains_page"
}
]
}