Publishing to the Marketplace
This guide covers how to publish your plugins and agents to the CortexPrism Marketplace for distribution to all users.
Account Setup
Before publishing, you need a marketplace account:
- Navigate to the Register page
- Create an account with your email and username
- Verify your email address
Publishing a Plugin
Step 1: Prepare Your Plugin
Ensure your plugin has a complete manifest and is tested:
# Test locally
cortex plugin install ./my-plugin
cortex plugin call my-plugin my-capability '{"input": "test"}'
# Ensure it works in a chat session
cortex chat --plugin my-plugin
Step 2: Submit via Web UI
- Go to the Publish Plugin page
- Fill in the required fields:
- Basic Info: Name, version, description
- Plugin Details: Type (ESM/MCP/WASM), entry point, capabilities
- Author & Links: Author name, website, repository, license
- Media: Icon, screenshots
- Tags: Add relevant tags for discoverability
- Submit for review
Step 3: Submit via API (Automated)
For CI/CD pipelines, use the API directly:
# Authenticate
TOKEN=$(curl -s -X POST https://cortexprism.io/api/auth/login \
-H 'Content-Type: application/json' \
-d '{"email":"user@example.com","password":"your-password"}' \
| jq -r '.token')
# Submit plugin
curl -X POST https://cortexprism.io/api/marketplace/plugins \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"name": "my-plugin",
"version": "1.0.0",
"description": "Does awesome things",
"kind": "esm",
"entryPoint": "mod.ts",
"capabilities": "{\"transform\":{\"input\":\"any\",\"output\":\"any\"}}",
"tags": ["text", "processing"],
"repository": "https://github.com/user/my-plugin",
"license": "MIT"
}'
Step 4: Review Process
After submission:
- Status is set to pending
- An admin reviews your submission
- You receive notification of approval or rejection
- If approved, your plugin is live on the marketplace
Check submission status on your Dashboard.
Publishing an Agent
Similar to plugins, but with agent-specific fields:
- Go to the Publish Agent page
- Provide:
- Basic Info: Name, version, description
- Agent Config: Provider, model, temperature, system prompt
- Tools: List of tool capabilities the agent uses
- Soul: Optional personality/soul configuration
- Tags: For discoverability
- Submit for review
Plugin Requirements
| Requirement | Details |
|---|---|
| Naming | kebab-case, unique across marketplace |
| Version | Valid semver (e.g., 1.0.0, 2.3.1) |
| Entry point | Must be accessible and valid |
| Capabilities | At least one capability defined |
| License | SPDX identifier required (MIT, Apache-2.0, etc.) |
| README | Recommended: usage instructions |
| Icon | Recommended: 256x256 PNG or SVG |
Version Management
Update your plugin by submitting a new version:
curl -X PUT https://cortexprism.io/api/marketplace/plugins/my-plugin \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"version": "1.1.0",
"description": "Added new capabilities",
"entryPoint": "mod.ts",
"capabilities": "..."
}'
Each published version is stored in the version history. Users can see the changelog and update their local installations.
Marketplace API
The marketplace exposes a full REST API for programmatic access:
| Endpoint | Method | Description |
|---|---|---|
/api/marketplace/plugins | GET | List plugins with search/filter/pagination |
/api/marketplace/plugins | POST | Submit a new plugin |
/api/marketplace/plugins/:id | GET | Get plugin details |
/api/marketplace/plugins/:id | PUT | Update plugin |
/api/marketplace/plugins/:id/download | GET | Download plugin manifest |
/api/marketplace/plugins/:id/reviews | GET | List reviews |
/api/marketplace/plugins/:id/reviews | POST | Submit a review |
See the OpenAPI docs for the complete specification.
Best Practices for Publishing
- Write a clear description: Explain what your plugin does and how to use it
- Add tags: Use relevant tags for search discoverability
- Include a README: Provide detailed usage instructions within the plugin
- Use screenshots: Show the plugin in action
- Version carefully: Follow semantic versioning
- Respond to reviews: Engage with user feedback
- Keep dependencies minimal: Faster install, fewer conflicts
- Test on multiple platforms: Linux, macOS, Windows (WSL2)
- Add a license: Clearly state usage terms
- Link to source: If open source, link the repository
CLI Publishing (Future)
Plugin developers will also be able to publish directly from the CLI:
cortex marketplace publish ./my-plugin
This command is in development and will be available in a future release.