Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Marketplace

The IronShell Marketplace is a registry for sharing and discovering pre-built AI agents.

Browsing

# Search for agents
marketplace_search "code review"
# [
#   { name: "code-reviewer", author: "ironshell", version: "1.0.0", downloads: 500 },
#   { name: "pr-analyzer", author: "community", version: "0.8.0", downloads: 120 },
#   ...
# ]

The web dashboard provides a visual marketplace browser at the Marketplace tab with filtering, sorting, and one-click installation.

API Endpoints

MethodEndpointDescription
GET/api/v1/marketplace/search?q=...Search agents
GET/api/v1/marketplace/agentsList all agents
POST/api/v1/marketplace/installInstall an agent
POST/api/v1/marketplace/uninstallUninstall an agent
POST/api/v1/marketplace/publishPublish an agent

Installing Agents

marketplace_install "code-reviewer"
marketplace_install "code-reviewer" "1.0.0"    # Specific version

marketplace_install downloads the package’s archive from the registry into the package cache and unpacks it. Nothing in the package is run, and links inside the archive are refused. A package the registry does not hold is E_NOT_FOUND; there is no fallback to the local catalogue, which holds records but no archives.

Integrity: the archive must match the registry’s SHA-256 digest (64 hex digits) before anything is written. A package with no digest, or a digest of any other shape, MD5 included, is refused with a coded error. The digest comes from the same registry as the archive, so it detects corruption and truncation in transit only. It does not detect a compromised registry. Packages are not signed and no publisher keys are checked; there is no signing scheme yet.

Names: an agent name and version are one path segment: ASCII letters, digits, -, _ and ., not starting with . or -. A / is refused, so scoped names are not supported. A refused name is E_BAD_ARG; through the API it is HTTP 400.

Via the API:

curl -X POST http://localhost:3000/api/v1/marketplace/install \
  -H "Content-Type: application/json" \
  -d '{"name": "code-reviewer", "version": "1.0.0"}'

Uninstalling

marketplace_uninstall "code-reviewer"

Publishing

Share your agents with the community:

marketplace_publish {
  name: "my-agent",
  description: "Analyzes Rust code for common patterns",
  system_prompt: "You are an expert Rust developer...",
  tools: ["cat", "grep", "ls"],
  model: "openai:gpt-4o-mini",
  tags: ["rust", "code-analysis"]
}

Via the Dashboard

  1. Open the Marketplace tab
  2. Click Publish Agent
  3. Fill in the form: name, description, system prompt, tools, model
  4. Click Publish

Agent Structure

Marketplace agents include:

FieldDescription
nameUnique agent identifier
descriptionWhat the agent does
authorPublisher name
versionSemantic version
system_promptAgent’s system instructions
toolsAllowed builtin tools
modelRecommended model URI
tagsCategory tags for discovery
downloadsDownload count
starsCommunity rating

Local Registry

The RegistryClient manages local state:

  • Search: Full-text search against the registry (local fallback when offline)
  • Install: Downloads agent config and registers locally
  • Cache: Installed agents stored in ~/.ironshell/marketplace/

Dashboard Integration

The web dashboard’s Marketplace page provides:

  • Search bar with real-time results
  • Category filtering and sorting
  • Install/Uninstall buttons with loading states
  • Publish dialog with form validation
  • Agent cards showing name, description, version, downloads, and verified badges