Skip to content

Latest commit

 

History

History
65 lines (44 loc) · 2.4 KB

File metadata and controls

65 lines (44 loc) · 2.4 KB

Contributing

We love contributions from everyone. By participating in this project, you agree to abide by the thoughtbot code of conduct.

We expect everyone to follow the code of conduct anywhere in thoughtbot's project codebases, issue trackers, chatrooms, and mailing lists.

Contributing Code

Fork the repo.

We recommend using Skill Creator to draft, test, and iterate on skills. It provides a structured workflow for writing skill prompts, running evaluations, and optimizing skill descriptions for accurate triggering.

Mention how your changes affect the project to other developers and users in the NEWS.md file.

Push to your fork. Write a good commit message. Submit a pull request.

Others will give constructive feedback. This is a time for discussion and improvements, and making the necessary changes will be required before we can merge the contribution.

Versioning

This plugin follows semantic versioning (MAJOR.MINOR.PATCH) in .claude-plugin/plugin.json. Claude Code uses this version to determine whether to update a cached plugin, so you must bump it when publishing changes.

For a skills-only plugin like this one, the traditional notion of "backward compatibility" doesn't quite apply — skills are prompt text, not code with APIs, and a rewording can meaningfully change behavior. Here's how we apply semver:

  • MAJOR — rename, remove, or fundamentally restructure a skill that users may depend on.
  • MINOR — add a new skill or meaningfully update an existing one.
  • PATCH — fix typos, update descriptions, or make trivial adjustments.

Bump the version in .claude-plugin/plugin.json as part of your pull request, and keep .claude-plugin/marketplace.json in sync — it carries the same version in both its metadata.version and its plugins[].version fields. Once the PR is merged, cut a release with the included binstub:

bin/release

This reads the version from plugin.json, creates an annotated git tag, and pushes it.

See obra/superpowers for a reference example of how a mature Claude Code plugin handles versioning, release notes, and git tags.