# Claude Code Plugin Marketplace - Publishing Guide
This guide walks you through publishing the iOS Development Tools plugin to the Claude Code Plugin Marketplace.
## Prerequisites
Before publishing, ensure you have:
- ✅ macOS development machine
- ✅ Claude Code account
- ✅ GitHub account (for hosting repository)
- ✅ Plugin tested and working
- ✅ All assets created (icon, screenshots)
- ✅ Documentation complete
## Pre-Publication Checklist
### 1. Code & Build
- [ ] All source code committed to Git
- [ ] `npm run build` completes without errors
- [ ] `npm test` passes (when tests are added)
- [ ] No TypeScript errors
- [ ] Dependencies up to date
- [ ] Version number set in `plugin.json` and `package.json`
### 2. Documentation
- [ ] README.md is complete and clear
- [ ] CHANGELOG.md updated with current version
- [ ] QUICKSTART.md explains basic usage
- [ ] LICENSE file present (MIT)
- [ ] Code comments are adequate
### 3. Assets
- [ ] Icon created (`assets/icon.png` - 512x512)
- [ ] Screenshots created (at least 2)
- [ ] All images optimized
- [ ] Assets referenced correctly in `plugin.json`
### 4. Testing
- [ ] Tested on fresh macOS installation
- [ ] All 4 tools work correctly
- [ ] Error messages are helpful
- [ ] Installation script works
- [ ] Verification script passes
### 5. Metadata
- [ ] `plugin.json` has all required fields
- [ ] Description is clear and compelling
- [ ] Keywords are relevant
- [ ] Categories are appropriate
- [ ] Homepage URL is correct
- [ ] Repository URL is valid
## Publishing Steps
### Step 1: Prepare Repository
```bash
# 1. Create GitHub repository
gh repo create ios-dev-mcp-server --public
# 2. Add remote and push
git remote add origin https://github.com/yourusername/ios-dev-mcp-server.git
git add .
git commit -m "Initial release v0.1.0"
git push -u origin main
# 3. Create release tag
git tag v0.1.0
git push origin v0.1.0
```
### Step 2: Create GitHub Release
1. Go to https://github.com/yourusername/ios-dev-mcp-server/releases
2. Click "Create a new release"
3. Tag version: `v0.1.0`
4. Release title: `iOS Development Tools v0.1.0`
5. Description: Copy from CHANGELOG.md
6. Attach built assets (optional)
7. Click "Publish release"
### Step 3: Validate Plugin Package
```bash
# Build and test
npm run build
# Verify structure
ls -la build/
ls -la assets/
# Test locally
npm run inspector
# Verify tools work
# Test each of the 4 simulator tools
```
### Step 4: Submit to Marketplace
**Option A: CLI Submission (if available)**
```bash
# Install Claude Code CLI
npm install -g @anthropic/claude-code
# Login to Claude Code
claude auth login
# Publish plugin
claude plugin publish
# Follow prompts
```
**Option B: Web Submission**
1. Go to Claude Code Plugin Marketplace developer portal
2. Click "Submit New Plugin"
3. Fill in the form:
- **Plugin Name:** iOS Development Tools
- **ID:** ios-dev
- **Repository:** https://github.com/yourusername/ios-dev-mcp-server
- **Version:** 0.1.0
- **Description:** Comprehensive iOS simulator control and Swift/Xcode development tools
4. Upload assets:
- Icon (512x512 PNG)
- Screenshots (1280x800 PNG)
5. Review and submit
### Step 5: Post-Publication
After submission is approved:
1. **Announce on GitHub**
- Update README with marketplace badge
- Add installation instructions
2. **Share**
- Post on Twitter/X
- Share in relevant communities
- Write blog post (optional)
3. **Monitor**
- Watch GitHub issues
- Respond to user questions
- Track downloads/usage
## Plugin Manifest (`plugin.json`)
Your `plugin.json` should look like this:
```json
{
"name": "ios-dev",
"displayName": "iOS Development Tools",
"version": "0.1.0",
"description": "Comprehensive iOS simulator control and Swift/Xcode development tools",
"publisher": "ios-dev-tools",
"homepage": "https://github.com/yourusername/ios-dev-mcp-server",
"repository": {
"type": "git",
"url": "https://github.com/yourusername/ios-dev-mcp-server.git"
},
"license": "MIT",
"categories": ["Development Tools", "Testing", "Mobile Development"],
"keywords": ["ios", "simulator", "xcode", "swift", "mobile"],
"icon": "assets/icon.png",
"screenshots": ["assets/screenshot-1.png", "assets/screenshot-2.png"],
"engines": {
"claude-code": "^0.1.0",
"node": ">=18.0.0"
},
"os": ["darwin"],
"main": "build/index.js",
"mcp": {
"server": {
"command": "node",
"args": ["${extensionPath}/build/index.js"],
"type": "stdio"
}
}
}
```
## Marketplace Guidelines
Follow these guidelines for approval:
### Content Guidelines
- ✅ Clear, professional description
- ✅ Accurate feature claims
- ✅ Proper attribution for dependencies
- ✅ No misleading information
- ✅ Appropriate language and tone
### Technical Guidelines
- ✅ Builds without errors
- ✅ No security vulnerabilities
- ✅ Minimal dependencies
- ✅ Proper error handling
- ✅ Resource efficient
- ✅ Platform-specific requirements documented
### Asset Guidelines
- ✅ Original artwork or properly licensed
- ✅ Professional appearance
- ✅ Correct dimensions
- ✅ Optimized file sizes
- ✅ Clear and readable
## Installation for Users
Once published, users can install with:
```bash
# Install from marketplace
claude plugin install ios-dev
# Or search in Claude Code UI
# Settings > Plugins > Browse Marketplace > "iOS Development Tools"
```
## Updating the Plugin
For future updates:
```bash
# 1. Update version in plugin.json and package.json
# 2. Update CHANGELOG.md
# 3. Commit and tag
git add .
git commit -m "Release v0.2.0"
git tag v0.2.0
git push origin main v0.2.0
# 4. Create GitHub release
# 5. Publish update
claude plugin publish
```
## Version Numbering
Follow semantic versioning (MAJOR.MINOR.PATCH):
- **MAJOR** (1.0.0): Breaking changes, incompatible API changes
- **MINOR** (0.2.0): New features, backward compatible
- **PATCH** (0.1.1): Bug fixes, backward compatible
**Planned Versions:**
- 0.1.0 - Device management (current)
- 0.2.0 - UI automation (screenshots, taps)
- 0.3.0 - Build & test automation
- 0.4.0 - Project management
- 1.0.0 - Stable release with all planned features
## Support & Maintenance
After publishing:
### Respond to Issues
Monitor GitHub issues and respond promptly to:
- Bug reports
- Feature requests
- Installation problems
- Documentation improvements
### Release Schedule
Suggested release cadence:
- **Patch releases:** As needed for bugs
- **Minor releases:** Every 2-4 weeks with new features
- **Major releases:** When breaking changes are needed
### Deprecation Policy
If removing features:
1. Mark as deprecated in version N
2. Keep functional but warn in version N+1
3. Remove in version N+2
## Marketing Your Plugin
### README Badge
Add marketplace badge to README:
```markdown
[](https://plugins.claude.ai/plugin/ios-dev)
```
### Description Template
Use this in marketplace submission:
```
iOS Development Tools brings comprehensive iOS simulator control directly to Claude Code. Manage simulators, automate testing, and streamline your iOS development workflow with natural language commands.
Features:
• List and manage iOS simulators
• Boot and shutdown devices with ease
• Get detailed device information
• Smart device resolution
• Comprehensive error handling
Perfect for iOS developers who want to:
- Quickly switch between simulator devices
- Automate testing workflows
- Integrate simulator control into AI-assisted development
Requirements: macOS, Xcode 15+, Node.js 18+
```
## Troubleshooting Publication
### Common Issues
**Build Fails:**
```bash
npm clean-install
npm run build
```
**Assets Missing:**
- Check `assets/` directory exists
- Verify file names match `plugin.json`
- Ensure correct dimensions
**Validation Errors:**
- Review `plugin.json` for required fields
- Check version format (x.y.z)
- Ensure all URLs are valid
**Platform Restrictions:**
- Set `"os": ["darwin"]` for macOS only
- Document platform requirements clearly
## Resources
- **Claude Code Plugin Docs:** https://docs.claude.ai/plugins
- **MCP SDK:** https://github.com/modelcontextprotocol/sdk
- **Plugin Examples:** https://github.com/anthropics/claude-code-plugins
- **Community:** Claude Code Discord/Forum
## Questions?
For help with publishing:
1. Check Claude Code documentation
2. Review existing plugins for examples
3. Ask in Claude Code developer community
4. Open discussion on GitHub
---
**Ready to publish?** Follow the checklist above and good luck! 🚀
Current Status: **Pre-release** - Assets needed before marketplace submission.