Extension System User Guide
Complete guide to using the Radium extension system for installing, managing, and working with extensions.
Table of Contentsβ
- Overview
- Installation Commands
- Discovery Commands
- Management Commands
- Signing and Verification
- Marketplace Integration
- Troubleshooting
- Migration Guide
Overviewβ
The Radium extension system allows you to install and manage reusable packages containing:
- Prompts: Agent prompt templates
- MCP Servers: Model Context Protocol server configurations
- Commands: Custom CLI commands
- Hooks: Native libraries or WASM modules
Extensions can be installed from:
- Local directories
- Archive files (
.tar.gz,.zip) - URLs (HTTP/HTTPS)
- Marketplace by name
Installation Commandsβ
Install Extensionβ
Install an extension from various sources:
# Install from local directory
rad extension install ./my-extension
# Install from archive file
rad extension install ./my-extension.tar.gz
# Install from URL
rad extension install https://example.com/extensions/my-extension.tar.gz
# Install from marketplace by name
rad extension install marketplace-extension-name
# Install and overwrite existing extension
rad extension install ./my-extension --overwrite
# Install with automatic dependency resolution
rad extension install ./my-extension --install-deps
Options:
--overwrite: Overwrite an existing extension with the same name--install-deps: Automatically install all declared dependencies
Examples:
# Install a local extension
$ rad extension install ./code-review-tools
Installing extension from: ./code-review-tools
Validating extension package...
β Extension 'code-review-tools' installed successfully
Version: 1.0.0
Description: Code review agent prompts and tools
# Install from marketplace
$ rad extension install github-integration
Found extension 'github-integration' in marketplace
Downloading from: https://marketplace.radium.ai/extensions/github-integration.tar.gz
β Extension 'github-integration' installed successfully
Create Extension Templateβ
Create a new extension with the proper structure:
# Basic extension
rad extension create my-extension
# With author and description
rad extension create my-extension --author "Your Name" --description "My custom extension"
This creates a directory structure:
my-extension/
βββ radium-extension.json
βββ prompts/
βββ mcp/
βββ commands/
βββ hooks/
βββ README.md
Discovery Commandsβ
List Extensionsβ
List all installed extensions:
# Basic listing
rad extension list
# Detailed information
rad extension list --verbose
# JSON output
rad extension list --json
Example Output:
$ rad extension list
βββββββββββββββββββββββ¬ββββββββββ¬βββββββββββββββββββββββββββββββ
β Name β Version β Description β
βββββββββββββββββββββββΌββββββββββΌβββββββββββββββββββββββββββββββ€
β code-review-tools β 1.0.0 β Code review agent prompts β
β github-integration β 2.1.0 β GitHub API integration β
β mcp-database-tools β 1.5.0 β Database MCP server configs β
βββββββββββββββββββββββ΄ββββββββββ΄βββββββββββββββββββββββββββββββ
Search Extensionsβ
Search for extensions by name or description:
# Search local and marketplace
rad extension search "github"
# Search only marketplace
rad extension search "github" --marketplace-only
# Search only local extensions
rad extension search "github" --local-only
# JSON output
rad extension search "github" --json
Example:
$ rad extension search "code review"
Found 3 extensions:
Local:
code-review-tools (1.0.0) - Code review agent prompts
Marketplace:
advanced-code-review (2.0.0) - Advanced code review tools
code-review-assistant (1.5.0) - AI-powered code review assistant
Browse Marketplaceβ
Browse popular extensions from the marketplace:
# Browse popular extensions
rad extension browse
# JSON output
rad extension browse --json
Get Extension Informationβ
Show detailed information about a specific extension:
# Show extension info
rad extension info my-extension
# JSON output
rad extension info my-extension --json
Example:
$ rad extension info code-review-tools
Extension: code-review-tools
Version: 1.0.0
Author: Radium Team
Description: Code review agent prompts and tools
Components:
- Prompts: 5 files
- Commands: 2 files
Dependencies: None
Installation Path: ~/.radium/extensions/code-review-tools
Management Commandsβ
Uninstall Extensionβ
Remove an installed extension:
rad extension uninstall my-extension
Example:
$ rad extension uninstall code-review-tools
Uninstalling extension 'code-review-tools'...
β Extension 'code-review-tools' uninstalled successfully
Signing and Verificationβ
Sign Extensionβ
Sign an extension with a private key for authenticity:
# Sign with existing key
rad extension sign ./my-extension --key-file ./private.key
# Generate new keypair and sign
rad extension sign ./my-extension --generate-key
Example:
$ rad extension sign ./my-extension --generate-key
Generated new keypair:
Private key: ./private.key (keep secure!)
Public key: ./public.key (share with users)
β Extension signed successfully
Signature: radium-extension.json.sig
Verify Extensionβ
Verify an extension's signature:
# Verify installed extension
rad extension verify my-extension
# Verify with specific public key
rad extension verify my-extension --key-file ./public.key
Example:
$ rad extension verify my-extension
β Extension signature verified
Signer: Your Name
Signed: 2025-12-07T10:30:00Z
Manage Trusted Keysβ
Manage trusted signing keys:
# Add trusted key
rad extension trust-key add --name "Publisher Name" --key-file ./public.key
# List trusted keys
rad extension trust-key list
# Remove trusted key
rad extension trust-key remove --name "Publisher Name"
Marketplace Integrationβ
Publishing Extensionsβ
Publish your extension to the marketplace:
# Publish with API key from environment
rad extension publish ./my-extension
# Publish with API key provided
rad extension publish ./my-extension --api-key YOUR_API_KEY
# Publish with automatic signing
rad extension publish ./my-extension --api-key YOUR_API_KEY --sign-with-key ./private.key
See the Publishing Guide for detailed instructions.
Installing from Marketplaceβ
Install extensions directly from the marketplace:
# Install by name (automatically detects marketplace)
rad extension install extension-name
# Search first, then install
rad extension search "query"
rad extension install found-extension-name
Extension Manifest Formatβ
Extensions use a radium-extension.json manifest file. Here's the complete schema:
{
"name": "extension-name",
"version": "1.0.0",
"description": "Extension description",
"author": "Author Name",
"components": {
"prompts": ["prompts/*.md"],
"mcp_servers": ["mcp/*.json"],
"commands": ["commands/*.toml"],
"hooks": ["hooks/*.toml"]
},
"dependencies": ["other-extension-1", "other-extension-2"],
"metadata": {
"tags": ["tag1", "tag2"],
"category": "development",
"license": "MIT"
},
"signature": "base64-encoded-signature"
}
Field Descriptionsβ
- name (required): Extension name (alphanumeric, dashes, underscores; must start with letter)
- version (required): Semantic version (e.g.,
1.0.0) - description (required): Brief description of the extension
- author (required): Author name or contact information
- components (optional): Component path definitions using glob patterns
prompts: Array of prompt file paths (.mdfiles)mcp_servers: Array of MCP server config paths (.jsonfiles)commands: Array of command file paths (.tomlfiles)hooks: Array of hook file paths (.tomlfiles)
- dependencies (optional): Array of extension names this extension depends on
- metadata (optional): Additional metadata (tags, category, license, etc.)
- signature (optional): Cryptographic signature for verification
Component Path Patternsβ
Component paths support glob patterns:
{
"components": {
"prompts": [
"prompts/*.md", // All .md files in prompts/
"prompts/frameworks/*.md", // All .md files in prompts/frameworks/
"prompts/agents/code-review.md" // Specific file
],
"mcp_servers": ["mcp/*.json"],
"commands": ["commands/*.toml", "commands/deploy/*.toml"],
"hooks": ["hooks/*.toml"]
}
}
Installation Locationsβ
Extensions can be installed in two locations:
- User-level:
~/.radium/extensions/- Available to all projects - Project-level:
.radium/extensions/- Specific to the current workspace
Project-level extensions take precedence over user-level extensions when both exist.
Troubleshootingβ
Extension Not Foundβ
If an extension isn't being discovered:
-
Verify installation:
rad extension list -
Check manifest exists:
ls ~/.radium/extensions/my-extension/radium-extension.json -
Verify extension name (case-sensitive):
rad extension info my-extension -
Check installation location:
- User-level:
~/.radium/extensions/ - Project-level:
.radium/extensions/
- User-level:
Installation Errorsβ
Invalid manifest:
- Check that
radium-extension.jsonis valid JSON - Ensure all required fields are present:
name,version,description,author - Verify JSON syntax with a JSON validator
Version format error:
- Version must follow semantic versioning:
MAJOR.MINOR.PATCH - Examples:
1.0.0,2.1.3,0.1.0 - Invalid:
1.0,v1.0.0,1.0.0-beta
Name format error:
- Must start with a letter
- Can contain letters, numbers, dashes, underscores
- No spaces or special characters
- Examples: β
my-extension, βextension_123, β123-extension, βmy extension
Path conflicts:
- Use
--overwriteflag if installing over an existing extension - Or uninstall the existing extension first
Component Not Loadingβ
If extension components aren't being discovered:
-
Verify component directories exist:
ls ~/.radium/extensions/my-extension/prompts/ -
Check glob patterns match files:
- Manifest:
"prompts": ["prompts/*.md"] - Actual files:
prompts/agent.mdβ - Actual files:
prompts/agent.txtβ (wrong extension)
- Manifest:
-
Ensure correct file formats:
- Prompts:
.mdfiles - MCP servers:
.jsonfiles - Commands:
.tomlfiles - Hooks:
.tomlfiles
- Prompts:
-
Check file permissions:
ls -la ~/.radium/extensions/my-extension/
Dependency Issuesβ
Dependencies not installing:
- Ensure dependency names match exactly (case-sensitive)
- Check dependencies are available (installed or in marketplace)
- Use
--install-depsflag during installation
Dependency conflicts:
- Check for version conflicts between extensions
- Review dependency declarations in manifests
- Consider using different extension versions
Marketplace Issuesβ
Cannot connect to marketplace:
- Check internet connection
- Verify marketplace URL is accessible
- Check for firewall/proxy issues
Authentication errors:
- Verify API key is correct
- Check API key hasn't expired
- Ensure you have publishing permissions
Extension not found in marketplace:
- Verify extension name is correct
- Check if extension is published
- Try searching instead of installing by name
Signature Verification Errorsβ
Signature verification fails:
- Ensure extension was signed
- Verify public key is correct
- Check signature file exists:
radium-extension.json.sig - Try adding the publisher's public key as trusted
Migration Guideβ
From Manual Installationβ
If you've been manually copying extension files, migrate to the extension system:
-
Identify your extensions:
- List files in
~/.radium/prompts/,~/.radium/mcp/, etc. - Group related files by extension
- List files in
-
Create extension structure:
rad extension create my-extension --author "Your Name" --description "Description" -
Move files to extension:
# Move prompts
mv ~/.radium/prompts/my-prompts/* my-extension/prompts/
# Move MCP configs
mv ~/.radium/mcp/my-mcp.json my-extension/mcp/
# Move commands
mv ~/.radium/commands/my-command.toml my-extension/commands/ -
Update manifest: Edit
my-extension/radium-extension.jsonto include component paths:{
"components": {
"prompts": ["prompts/*.md"],
"mcp_servers": ["mcp/*.json"],
"commands": ["commands/*.toml"]
}
} -
Install extension:
rad extension install ./my-extension -
Verify installation:
rad extension list
rad extension info my-extension -
Clean up old files (after verifying extension works):
# Backup first!
rm -rf ~/.radium/prompts/my-prompts/
rm ~/.radium/mcp/my-mcp.json
Benefits of Migrationβ
- Version management: Track extension versions
- Dependency resolution: Automatic dependency installation
- Easy updates: Update extensions with single command
- Marketplace integration: Share extensions easily
- Signing support: Verify extension authenticity
- Better organization: Clear extension boundaries
Next Stepsβ
- Creating Extensions - Learn how to create your own extensions
- Publishing Guide - Publish extensions to the marketplace
- Marketplace Guide - Discover and use marketplace features
- Architecture - Understand the technical architecture
- Examples - See example extensions