Appearance
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 packageThis 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.motapkg3. Test Package
bash
# Install locally for testing
motanamy install my-plugin.motapkg --local
# Test in development environment
motanamy test my-plugin.motapkgPackage 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 verificationUpload Methods
Motanamy Plugin Marketplace
The official marketplace for public plugin distribution.
Account Setup
Create Developer Account:
- Visit marketplace.motanamy.com
- Sign up with your Motanamy developer credentials
- Complete account verification
Developer Profile:
- Add profile information
- Set up payment methods for monetization
- Configure notification preferences
Publishing Process
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"] }Upload Package:
bash# Upload via CLI motanamy publish my-plugin.motapkg --marketplace # Or upload via web interface # Visit marketplace.motanamy.com/publishReview 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
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
Create Repository:
bash# Create private repository motanamy repo create my-private-repo --private # Or via web interface # Visit developer.motanamy.com/repositoriesConfigure 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-approvalEnterprise 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-logsAutomated 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.0Plugin 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.motapkgCompatibility 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.motapkgAutomated 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"
}
}Paid Plugins
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 --updateBackward 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-pluginPrivate Repository Analytics
bash
# Repository usage stats
motanamy repo stats my-private-repo
# Plugin adoption metrics
motanamy repo plugin-stats my-plugin my-private-repoLegal and Compliance
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
- Plugin Packaging Guide
- Marketplace Guidelines
- Monetization FAQ
- Security Best Practices
- Developer Support
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.