Skip to content

Upload Plugins

Learn how to package, validate, and publish your plugins to the Motanamy Plugin Marketplace and private repositories.

Plugin Packaging

Preparing Your Plugin for Upload

Before uploading, ensure your plugin is properly packaged and ready for distribution.

1. Build Your Plugin

bash
# Build for production
npm run build

# Create distribution package
npm run package

This creates a .motapkg file containing your compiled plugin code, assets, and metadata.

2. Validate Package

bash
# Validate package structure and manifest
motanamy validate my-plugin.motapkg

# Check for common issues
motanamy lint my-plugin.motapkg

3. Test Package

bash
# Install locally for testing
motanamy install my-plugin.motapkg --local

# Test in development environment
motanamy test my-plugin.motapkg

Package Structure

A valid plugin package includes:

my-plugin.motapkg/
├── manifest.json          # Plugin metadata
├── main.js               # Compiled main entry point
├── assets/               # Static assets (icons, images)
├── locales/              # Localization files
├── docs/                 # Documentation
└── checksums.json        # File integrity verification

Upload Methods

Motanamy Plugin Marketplace

The official marketplace for public plugin distribution.

Account Setup

  1. Create Developer Account:

  2. Developer Profile:

    • Add profile information
    • Set up payment methods for monetization
    • Configure notification preferences

Publishing Process

  1. Prepare Plugin Listing:

    json
    {
      "name": "My Awesome Plugin",
      "description": "A comprehensive description of your plugin",
      "version": "1.0.0",
      "category": "productivity",
      "platforms": ["ea", "sa"],
      "price": {
        "type": "free",
        "currency": "USD",
        "amount": 0
      },
      "screenshots": ["screenshot1.png", "screenshot2.png"],
      "tags": ["automation", "workflow", "integration"]
    }
  2. Upload Package:

    bash
    # Upload via CLI
    motanamy publish my-plugin.motapkg --marketplace
    
    # Or upload via web interface
    # Visit marketplace.motanamy.com/publish
  3. Review Process:

    • Automated Review: Code analysis and security scanning
    • Manual Review: Human review for quality and compliance (2-5 business days)
    • Approval: Plugin goes live on marketplace
  4. Post-Publication:

    • Monitor downloads and ratings
    • Respond to user reviews
    • Plan updates and maintenance

Private Repositories

For enterprise or private plugin distribution.

Setting Up Private Repository

  1. Create Repository:

    bash
    # Create private repository
    motanamy repo create my-private-repo --private
    
    # Or via web interface
    # Visit developer.motanamy.com/repositories
  2. Configure Access:

    bash
    # Add team members
    motanamy repo add-user my-private-repo user@example.com --role developer
    
    # Set access policies
    motanamy repo policy my-private-repo --allow-download --require-approval

Publishing to Private Repository

bash
# Publish to private repo
motanamy publish my-plugin.motapkg --repo my-private-repo

# Publish with approval workflow
motanamy publish my-plugin.motapkg --repo my-private-repo --require-approval

Enterprise Deployment

For large-scale enterprise deployments.

On-Premises Repository

bash
# Set up local repository server
motanamy repo-server install

# Configure enterprise policies
motanamy repo-server policy set --require-signature --audit-logs

Automated Deployment

bash
# Deploy to enterprise environment
motanamy deploy my-plugin.motapkg --environment production --auto-approve

# Rollback if needed
motanamy rollback my-plugin --version 1.0.0

Plugin Validation

Pre-Upload Checks

Manifest Validation

json
{
  "name": "my-plugin",
  "version": "1.0.0",
  "description": "Plugin description",
  "author": "Your Name",
  "license": "MIT",
  "platforms": ["ea", "sa", "os"],
  "minPlatformVersion": "1.0.0",
  "maxPlatformVersion": "2.0.0",
  "permissions": ["read-data", "api-access"],
  "dependencies": {
    "@motanamy/sdk": "^1.0.0"
  }
}

Security Scanning

bash
# Run security audit
motanamy security-scan my-plugin.motapkg

# Check for vulnerabilities
motanamy vuln-check my-plugin.motapkg

Compatibility Testing

bash
# Test against multiple platform versions
motanamy compat-test my-plugin.motapkg --platforms ea,sa --versions 1.0,1.1,2.0

# Generate compatibility report
motanamy compat-report my-plugin.motapkg

Automated Validation

The upload process includes several automated checks:

  • Code Quality: Linting and style checks
  • Security: Vulnerability scanning and permission analysis
  • Compatibility: Platform version compatibility testing
  • Performance: Basic performance benchmarking
  • Documentation: README and API documentation validation

Monetization Options

Free Plugins

json
{
  "price": {
    "type": "free"
  }
}
json
{
  "price": {
    "type": "paid",
    "currency": "USD",
    "amount": 29.99,
    "trial": {
      "days": 14
    }
  }
}

Subscription Model

json
{
  "price": {
    "type": "subscription",
    "currency": "USD",
    "amount": 9.99,
    "interval": "monthly",
    "trial": {
      "days": 30
    }
  }
}

Enterprise Licensing

json
{
  "price": {
    "type": "enterprise",
    "contact": "sales@motanamy.com",
    "custom": true
  }
}

Version Management

Semantic Versioning

Follow semantic versioning for plugin updates:

  • MAJOR: Breaking changes
  • MINOR: New features, backward compatible
  • PATCH: Bug fixes, backward compatible

Update Strategy

bash
# Create new version
motanamy version bump patch
motanamy version bump minor
motanamy version bump major

# Publish update
motanamy publish --update

Backward Compatibility

javascript
// Check platform version
const platformVersion = await this.getPlatformVersion();

if (platformVersion >= '2.0.0') {
  // Use new API
  await this.useNewAPI();
} else {
  // Fallback to old API
  await this.useLegacyAPI();
}

Distribution Analytics

Marketplace Insights

bash
# View download statistics
motanamy stats downloads my-plugin

# Check user demographics
motanamy stats users my-plugin

# Monitor ratings and reviews
motanamy stats reviews my-plugin

Private Repository Analytics

bash
# Repository usage stats
motanamy repo stats my-private-repo

# Plugin adoption metrics
motanamy repo plugin-stats my-plugin my-private-repo

Licensing

  • Choose Appropriate License: MIT, Apache 2.0, GPL, etc.
  • Commercial Considerations: Ensure license allows your intended use
  • Dependency Licenses: Check licenses of all dependencies

Intellectual Property

  • Original Code: Ensure all code is original or properly licensed
  • Trademarks: Avoid using others' trademarks in your plugin
  • Copyright Notices: Include appropriate copyright notices

Data Privacy

  • User Data: Clearly state what user data your plugin collects
  • Privacy Policy: Include a privacy policy for data-collecting plugins
  • GDPR Compliance: Ensure compliance with data protection regulations

Troubleshooting Upload Issues

Common Upload Problems

Package Too Large

Error: Package size exceeds 50MB limit
  • Optimize assets and remove unnecessary files
  • Use CDN for large static resources
  • Split plugin into smaller modules

Manifest Errors

Error: Invalid manifest.json
  • Validate JSON syntax
  • Check required fields are present
  • Ensure version format is correct

Security Violations

Error: Security scan failed
  • Fix identified vulnerabilities
  • Remove malicious code
  • Update dependencies to secure versions

Compatibility Issues

Error: Incompatible with target platforms
  • Test on all target platforms
  • Update platform requirements
  • Fix platform-specific code

Getting Help

  • Upload Documentation: Check detailed upload guides
  • Developer Forums: Ask questions in community forums
  • Support Tickets: Submit detailed bug reports
  • Live Chat: Get real-time assistance

Best Practices

Pre-Upload Checklist

  • [ ] Plugin builds without errors
  • [ ] All tests pass
  • [ ] Documentation is complete
  • [ ] Screenshots and demo videos ready
  • [ ] Pricing and licensing decided
  • [ ] Security scan passed
  • [ ] Compatibility tested

Post-Upload Maintenance

  • Monitor Feedback: Respond to user reviews and issues
  • Regular Updates: Keep plugin updated with latest platform changes
  • Security Patches: Address security vulnerabilities promptly
  • Performance Optimization: Improve performance based on user feedback

Marketing Your Plugin

  • Compelling Description: Write clear, benefit-focused descriptions
  • Quality Screenshots: Show your plugin in action
  • Demo Videos: Create short videos demonstrating features
  • Social Media: Share on developer communities and social platforms
  • Blog Posts: Write tutorials and use cases

Resources


Successfully uploading and distributing your plugins allows you to share your innovations with the Motanamy community and potentially monetize your development efforts. Follow these guidelines to ensure smooth publishing and ongoing success.