From c805b7fd86611484391e468ed74ee0112438a316 Mon Sep 17 00:00:00 2001 From: Justin Spahr-Summers Date: Wed, 20 Nov 2024 15:32:22 +0000 Subject: [PATCH] Add CONTRIBUTING.md --- CONTRIBUTING.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..21803d6f9 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,59 @@ +# Contributing + +Thank you for your interest in contributing to the MCP Python SDK! This document provides guidelines and instructions for contributing. + +## Development Setup + +1. Make sure you have Python 3.10+ installed +2. Install [uv](https://docs.astral.sh/uv/getting-started/installation/) +3. Clone the repository: +```bash +git clone https://github.com/modelcontextprotocol/python-sdk.git +cd python-sdk +``` +4. Install dependencies: +```bash +uv sync --frozen --all-extras --dev +``` + +## Development Workflow + +1. Create a new branch for your changes +2. Make your changes +3. Ensure tests pass: +```bash +uv run pytest +``` +4. Run type checking: +```bash +uv run pyright +``` +5. Run linting: +```bash +uv run ruff check . +uv run ruff format . +``` +6. Submit a pull request + +## Code Style + +- We use `ruff` for linting and formatting +- Follow PEP 8 style guidelines +- Add type hints to all functions +- Include docstrings for public APIs + +## Pull Request Process + +1. Update documentation as needed +2. Add tests for new functionality +3. Ensure CI passes +4. Maintainers will review your code +5. Address review feedback + +## Code of Conduct + +Please note that this project is released with a [Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. + +## License + +By contributing, you agree that your contributions will be licensed under the MIT License.