Thank you for considering a contribution! This document describes how to set up your environment, run checks, and submit pull requests.
- Clone the repository:
git clone https://github.com/vmanoilov/zenrube-mcp.git cd zenrube-mcp - Install development dependencies:
pip install -e .[dev]
- (Optional) Configure your preferred LLM providers by registering them in
providers.ProviderRegistry.
Zenrube uses pytest for unit tests and coverage reporting:
pytest --cov=srcBefore submitting a pull request, ensure that:
blackformatting passes:black --check src testsflake8linting passes:flake8 src testsmypytype checking passes:mypy src
These checks also run in CI for Python 3.8–3.12.
- Create a feature branch from
main. - Make your changes and add relevant tests.
- Run the quality gates above.
- Update
CHANGELOG.mdwith a summary of your change. - Open a pull request with a clear description and link any relevant issues.
- Follow Python typing best practices and prefer explicit return types.
- Use structured logging via the shared
zenrubelogger. - Keep public APIs documented in the README.
If you plan a significant change (new provider, caching backend, etc.), please open an issue first so we can discuss the approach.
Thanks for helping make zenrube-mcp better!