Skip to content

Latest commit

 

History

History
96 lines (69 loc) · 2.39 KB

File metadata and controls

96 lines (69 loc) · 2.39 KB

Contributing to ai-helpers

Thank you for your interest in contributing to the ai-helpers plugin marketplace for Claude Code.

Plugin Versioning Policy

All plugins use semantic versioning:

  • PATCH (0.0.x): Bug fixes, typo corrections, minor improvements
  • MINOR (0.x.0): New commands, skills, hooks, or features
  • MAJOR (x.0.0): Breaking changes to existing commands

When to bump versions

If your PR modifies plugin code (commands, skills, hooks, or plugin.json), you MUST bump the version:

  1. Edit plugins/<name>/.claude-plugin/plugin.json
  2. Increment the version appropriately
  3. CI will fail if you forget

Documentation-only changes (README.md files) do not require version bumps.

Example

Adding a new command to the git plugin:

Before:

{
  "name": "git",
  "version": "0.1.0"
}

After:

{
  "name": "git",
  "version": "0.2.0"
}

Why versioning matters

Claude Code caches plugins locally by version. Without version bumps:

  • Users won't know updates exist
  • Reinstalling may not fetch new code
  • There's no way to track what version users have

Development Workflow

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Bump the version in plugin.json if modifying plugin code
  5. Run make lint to validate plugin structure
  6. Submit a PR

Testing your changes locally

You can test plugins locally before submitting:

  1. Point Claude Code to your local fork:

    /plugin marketplace add <your-fork-url>
    
  2. Install the plugin from your fork:

    /plugin install <plugin>@<your-marketplace-name>
    

Auto-generated Documentation

The following files are auto-generated on merge and should not be edited manually:

  • PLUGINS.md
  • docs/data.json

These are regenerated by running make update which executes:

  • scripts/generate_plugin_docs.py
  • scripts/build-website.py

Code Review

All PRs require review before merging. Reviewers will check:

  • Plugin structure follows conventions (use make lint)
  • Version is bumped appropriately for code changes
  • Commands have proper frontmatter (description, argument-hint)
  • No sensitive information is included

Getting Help

If you have questions: