Thank you for your interest in supporting the MiniMCP project! This document outlines the guidelines and instructions for making contributions.
- Make sure you have Python 3.10+ installed
- Install uv
- Fork the repository
- Clone your fork
- Install dependencies:
uv sync --frozen --all-extras --dev- Sets up the Git hook so it runs automatically on each git commit
uv run pre-commit install- In your fork, create a new branch from main or your chosen base branch.
- Make your changes
- Ensure tests pass:
# Run both unit and integration tests
uv run pytest
# Run both unit and integration tests with coverage
uv run pytest --cov=src/minimcp- Run type checking:
uv run pyright- Run linting:
uv run ruff check .Fix and format
uv run ruff check . --fix
uv run ruff format .- Update README if you modified example code:
- (Optional) Run pre-commit hooks on all files:
uv run pre-commit run --all-files- Submit a pull request to the same branch you branched from
- We use
rufffor linting and formatting - Follow PEP 8 style guidelines
- Add type hints to all functions
- Include docstrings for public APIs
rm -rf dist
uv run -m build
uv run twine check dist/*
uv run twine upload dist/*To validate changes after manually editing pyproject.toml, run:
uvx --from 'validate-pyproject[all]' validate-pyproject pyproject.tomlBy contributing, you agree that your contributions will be licensed under Apache License, Version 2.0