Thanks for your interest in contributing! Here's how to get started.
-
Clone the repo:
git clone https://github.com/mattpollak/relay.git cd relay -
Install dependencies:
cd server uv sync --dev -
Run tests:
cd server uv run pytest -
Test the plugin locally:
claude --plugin-dir /path/to/relay
- Fork the repo and create a branch from
main. - Make your changes.
- Add or update tests as needed — run
uv run pytestfromserver/. - Update
CHANGELOG.mdwith a description of your change. - Bump the version in
.claude-plugin/plugin.jsonand.claude-plugin/marketplace.json(see versioning rules inCLAUDE.md). - Open a pull request.
- Bug fixes
- Documentation improvements
- New MCP tools or skills
- Test coverage
- Terminal compatibility improvements (especially macOS/Linux variations)
Open an issue with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your OS and Claude Code version
- Python: follow existing patterns in
server/relay_server/ - Shell scripts: use
set -euo pipefail, quote variables, validate inputs - Skills: follow the structure of existing skills in
skills/
By contributing, you agree that your contributions will be licensed under the MIT License.