Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 2.95 KB

File metadata and controls

62 lines (47 loc) · 2.95 KB

Contributing

Thanks for considering it. This is a small, personally maintained project, so before a large change please open an issue first and check the direction. A focused pull request against an agreed shape gets merged; a large one that takes the project somewhere it was not going is a lot of wasted effort on both sides. Small fixes — a typo, a dead link, an obvious bug — need no preamble at all. Just send them.

Running it locally

This is a marketplace catalog, not a plugin — there is no runtime code. To try a change, add your clone as a marketplace and install from it:

/plugin marketplace add ./

Tests

CI validates the catalog itself — that every entry is well-shaped, that no two entries resolve to the same address, and that the README documents every plugin listed. The checks live inline in .github/workflows/ci.yml and run on every pull request.

This repository is a catalog, so it carries exactly one manifest — marketplace.json, and no plugin.json. Validate it both ways; both must pass:

claude plugin validate . --strict
claude plugin validate ./.claude-plugin/marketplace.json --strict

The two are not redundant. claude plugin validate against a directory checks only one manifest: marketplace.json wins whenever both are present, and plugin.json is silently skipped. That rule matters in the plugin repositories, which carry both — there, name the plugin.json explicitly or it never gets checked. Here there is nothing for it to skip.

What gets merged

  • main is the published artifact. An unpinned install resolves this repository's default branch, so every commit on it has to be installable and complete on its own. That is why pull requests get read closely rather than quickly.
  • Entries carry no version key. A plugin's version lives in that plugin's own manifest, and an unpinned source already resolves it from there. Copying it into an entry here creates a second source of truth that has to be bumped twice and will drift. Pin a specific version with "ref" or "sha" instead; CI rejects a version key outright.
  • Entries mirror; they never originate. A catalog entry describes a plugin that already exists and already resolves. If the source does not resolve, the entry does not belong here yet.
  • Commit messages are public writing. Write them as though the repository were already being read by strangers, because it is. No machine paths, no personal addresses, no credentials, and no wip-grade subjects.

Licensing

By contributing, you agree that your contribution is licensed under the MIT License, the same license this project ships under. You keep the copyright on what you write — this is the ordinary inbound-equals-outbound arrangement, and there is no contributor licence agreement to sign.

Security

Please do not use a pull request or a public issue to report a security problem. SECURITY.md has the private channel.