Files
wehub-resource-sync c96d433ed2
Tag and release from CHANGELOG / release (push) Has been cancelled
Tests / test (3.11) (push) Has been cancelled
Tests / test (3.13) (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:02:19 +08:00

2.2 KiB

Contributing

PM Skills Marketplace is maintained by Paweł Huryn (pawel@productcompass.pm). Contributions are welcome — whether it's a bug fix, a typo, or a new skill idea.

How to Contribute

  • Bugs and small fixes — open a PR directly.
  • New skills, commands, or larger changes — open an issue first so we can discuss the approach.

Guidelines

  • Keep PRs focused — one change per PR.
  • Follow existing patterns: skills are nouns (domain knowledge), commands are verbs (workflows).
  • Every skill needs frontmatter with name and description. Every command needs description and argument-hint.
  • Skill name must match its directory name.
  • No cross-plugin references in commands. Suggest follow-ups in natural language only.
  • Every contributor will be listed publicly (see Changelog & Contributor Credit below).
  • Run the checks before submitting: python3 validate_plugins.py and python3 -m unittest discover -s tests.

Changelog & Contributor Credit

Every user-facing change gets a bullet in CHANGELOG.md. In a PR, add yours under a ## Unreleased heading at the top (create it if it doesn't exist) and credit yourself at the end of the bullet — (#123, thanks @your-handle). Credits ship verbatim in the GitHub Release notes and stay in the changelog permanently.

Releases (maintainer)

CHANGELOG.md is the source of truth; tags and GitHub Releases are deterministic projections of it (.github/workflows/tag-on-merge.yml):

  1. Rename ## Unreleased to ## vX.Y.Z — YYYY-MM-DD. Semver: breaking changes = major, new skills/commands or changed behavior = minor, fixes and docs = patch.
  2. Set the same version in .claude-plugin/marketplace.json and every plugin's plugin.json — versions stay in sync across the repo (the test suite enforces this).
  3. Push to main. CI verifies the version sync, runs the validator and test suite, then tags vX.Y.Z and publishes a GitHub Release with the changelog section as notes. No new heading → no release; ordinary pushes are unaffected.

License

By contributing, you agree that your contributions will be licensed under the MIT License.