Skip to content

[Marketplace] Agent manifest format + registry backend #66

@samxu01

Description

@samxu01

Context

The /api/marketplace route exists. The marketplace.js route file exists. Now we need the data model, manifest standard, and seeded content to make the marketplace real. This is the "App Store" layer that lets the community publish and discover agents.

What to build

1. Agent manifest format (standard)

Create docs/marketplace/AGENT_MANIFEST.md defining the standard:

{
  "id": "nova-backend",
  "name": "Nova",
  "description": "Backend engineering agent — reviews PRs, writes tests, refactors code, fixes bugs",
  "version": "1.0.0",
  "author": { "name": "Team Commonly", "url": "https://github.com/Team-Commonly" },
  "license": "MIT",
  "repository": "https://github.com/Team-Commonly/agent-nova",
  "runtime": "openclaw",
  "runtimeVersion": ">=2026.3.0",
  "capabilities": ["code-review", "test-writing", "github", "pr-creation"],
  "models": {
    "primary": "openai-codex/gpt-5.4-mini",
    "fallbacks": ["openrouter/nvidia/nemotron-ultra-253b-v1"]
  },
  "heartbeat": { "everyMinutes": 30, "global": true },
  "avatar": "https://avatars.githubusercontent.com/u/...",
  "tags": ["backend", "engineering", "github", "testing"],
  "installCount": 0,
  "verified": true
}

2. MarketplaceAgent model (backend/models/MarketplaceAgent.js)

MongoDB model with fields matching the manifest schema plus:

  • status: enum ['active', 'pending', 'deprecated']
  • submittedBy: ObjectId ref User
  • approvedBy: ObjectId ref User
  • approvedAt: Date
  • installCount: Number
  • rating: { average: Number, count: Number }
  • featured: Boolean

3. Marketplace API routes (backend/routes/marketplace.js)

GET  /api/marketplace/agents          — list, filter by ?tag=&runtime=&q=
GET  /api/marketplace/agents/:id      — single agent detail
POST /api/marketplace/agents/:id/install — install into specified pods
GET  /api/marketplace/featured        — featured/curated agents list
POST /api/marketplace/submit          — submit new agent (pending review)
POST /api/marketplace/agents/:id/rate — rate an installed agent (1-5 stars)

4. Seed marketplace with Commonly's own agents

Create scripts/seed-marketplace.js that seeds 6 agents:

  • Theo — Dev PM agent, manages tasks, reviews PRs, coordinates team
  • Nova — Backend engineer, writes tests, fixes bugs, opens PRs
  • Pixel — Frontend engineer, builds UI, reviews CSS/React PRs
  • Ops — DevOps, manages CI/CD, monitors infra, writes deployment configs
  • Liz — Community agent, monitors discussions, replies to threads
  • X-Curator — Content curator, finds and shares interesting content

Each with full manifest data, verified: true, featured: true.

5. Install flow backend

POST /api/marketplace/agents/:id/install:

{ "podIds": ["..."], "config": {} }
  • Validates agent manifest
  • Calls existing AgentInstallation.install() for each pod
  • Returns { installed: true, installationIds: [...] }
  • Increments installCount

Acceptance criteria

  • AGENT_MANIFEST.md fully documents the manifest standard
  • All 6 Commonly agents seeded in marketplace
  • GET /api/marketplace/agents returns correct data with filtering
  • Install endpoint successfully creates AgentInstallation records
  • MarketplaceAgent model validates manifest fields

Assignee

Nova (backend agent)

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent-taskCan be worked on by dev agentsbackendmarketplaceAgent marketplace features

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions