Skip to content

Latest commit

 

History

History
307 lines (228 loc) · 6.4 KB

File metadata and controls

307 lines (228 loc) · 6.4 KB

Publishing the cli-anything Plugin

This guide explains how to make the cli-anything plugin installable and publish it.

Option 1: Local Installation (Development)

For Testing

  1. Copy to Claude Code plugins directory:

    cp -r /root/cli-anything/cli-anything-plugin ~/.claude/plugins/cli-anything
  2. Reload plugins in Claude Code:

    /reload-plugins
  3. Verify installation:

    /help cli-anything

For Sharing Locally

Package as a tarball:

cd /root/cli-anything
tar -czf cli-anything-plugin-v1.0.0.tar.gz cli-anything-plugin/

Others can install:

cd ~/.claude/plugins
tar -xzf cli-anything-plugin-v1.0.0.tar.gz

Option 2: GitHub Repository (Recommended)

1. Create GitHub Repository

cd /root/cli-anything/cli-anything-plugin

# Initialize git
git init
git add .
git commit -m "Initial commit: cli-anything plugin v1.0.0"

# Create repo on GitHub (via web or gh CLI)
gh repo create cli-anything-plugin --public --source=. --remote=origin

# Push
git push -u origin main

2. Create Release

# Tag the release
git tag -a v1.0.0 -m "Release v1.0.0: Initial release"
git push origin v1.0.0

# Create GitHub release
gh release create v1.0.0 \
  --title "cli-anything Plugin v1.0.0" \
  --notes "Initial release with 4 commands and complete 6-phase methodology"

3. Install from GitHub

Users can install directly:

cd ~/.claude/plugins
git clone https://github.com/yourusername/cli-anything-plugin.git

Or via Claude Code (if you set up a plugin registry):

/plugin install cli-anything@github:yourusername/cli-anything-plugin

Option 3: Claude Plugin Directory (Official)

To publish to the official Claude Plugin Directory:

1. Prepare for Submission

Ensure your plugin meets requirements:

  • ✅ Complete plugin.json with all metadata
  • ✅ Comprehensive README.md
  • ✅ LICENSE file (MIT recommended)
  • ✅ All commands documented
  • ✅ No security vulnerabilities
  • ✅ Tested and working

2. Submit to External Plugins

  1. Fork the official repository:

    gh repo fork anthropics/claude-plugins-official
  2. Add your plugin to external_plugins:

    cd claude-plugins-official
    mkdir -p external_plugins/cli-anything
    cp -r /root/cli-anything/cli-anything-plugin/* external_plugins/cli-anything/
  3. Create pull request:

    git checkout -b add-cli-anything-plugin
    git add external_plugins/cli-anything
    git commit -m "Add cli-anything plugin to external plugins"
    git push origin add-cli-anything-plugin
    gh pr create --title "Add cli-anything plugin" \
      --body "Adds cli-anything plugin for building CLI harnesses for GUI applications"
  4. Fill out submission form:

3. Review Process

Anthropic will review:

  • Code quality and security
  • Documentation completeness
  • Functionality and usefulness
  • Compliance with plugin standards

Approval typically takes 1-2 weeks.

4. After Approval

Users can install via:

/plugin install cli-anything@claude-plugin-directory

Option 4: NPM Package (Alternative)

If you want to distribute via npm:

1. Create package.json

{
  "name": "@yourusername/cli-anything-plugin",
  "version": "1.0.0",
  "description": "Claude Code plugin for building CLI harnesses",
  "main": ".claude-plugin/plugin.json",
  "scripts": {
    "install": "bash scripts/setup-cli-anything.sh"
  },
  "keywords": ["claude-code", "plugin", "cli", "harness"],
  "author": "Your Name",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "https://github.com/yourusername/cli-anything-plugin.git"
  }
}

2. Publish to npm

npm login
npm publish --access public

3. Install via npm

cd ~/.claude/plugins
npm install @yourusername/cli-anything-plugin

Versioning

Follow semantic versioning (semver):

  • Major (1.0.0 → 2.0.0): Breaking changes
  • Minor (1.0.0 → 1.1.0): New features, backward compatible
  • Patch (1.0.0 → 1.0.1): Bug fixes

Update version in:

  • .claude-plugin/plugin.json
  • README.md
  • Git tags

Distribution Checklist

Before publishing:

  • All commands tested and working
  • README.md is comprehensive
  • LICENSE file included
  • plugin.json has correct metadata
  • No hardcoded paths or credentials
  • Scripts are executable (chmod +x)
  • Documentation is up to date
  • Version number is correct
  • Git repository is clean
  • Tests pass (if applicable)

Maintenance

Updating the Plugin

  1. Make changes
  2. Update version in plugin.json
  3. Update CHANGELOG.md
  4. Commit and tag:
    git commit -am "Release v1.1.0: Add new features"
    git tag v1.1.0
    git push origin main --tags
  5. Create GitHub release
  6. Notify users of update

Deprecation

If deprecating:

  1. Mark as deprecated in plugin.json
  2. Update README with deprecation notice
  3. Provide migration path
  4. Keep available for 6 months minimum

Support

Documentation

  • Keep README.md updated
  • Document breaking changes
  • Provide migration guides

Issue Tracking

Use GitHub Issues for:

  • Bug reports
  • Feature requests
  • Questions

Community

  • Respond to issues promptly
  • Accept pull requests
  • Credit contributors

Security

Reporting Vulnerabilities

Create SECURITY.md:

# Security Policy

## Reporting a Vulnerability

Email: security@yourdomain.com

Please do not open public issues for security vulnerabilities.

Best Practices

  • No credentials in code
  • Validate all inputs
  • Use secure dependencies
  • Regular security audits

Legal

License

MIT License allows:

  • Commercial use
  • Modification
  • Distribution
  • Private use

Requires:

  • License and copyright notice

Trademark

If using "Claude" or "Anthropic":

  • Follow brand guidelines
  • Don't imply official endorsement
  • Use "for Claude Code" not "Claude's plugin"

Resources

Questions?