Skip to content

Latest commit

 

History

History
91 lines (63 loc) · 1.8 KB

File metadata and controls

91 lines (63 loc) · 1.8 KB

Contributing to MiniMCP

Thank you for your interest in supporting the MiniMCP project! This document outlines the guidelines and instructions for making contributions.

Development Setup

  1. Make sure you have Python 3.10+ installed
  2. Install uv
  3. Fork the repository
  4. Clone your fork
  5. Install dependencies:
uv sync --frozen --all-extras --dev
  1. Sets up the Git hook so it runs automatically on each git commit
uv run pre-commit install

Development Workflow

  1. In your fork, create a new branch from main or your chosen base branch.
  2. Make your changes
  3. 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
  1. Run type checking:
uv run pyright
  1. Run linting:
uv run ruff check .

Fix and format

uv run ruff check . --fix
uv run ruff format .
  1. Update README if you modified example code:
  2. (Optional) Run pre-commit hooks on all files:
uv run pre-commit run --all-files
  1. Submit a pull request to the same branch you branched from

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

Build & Publish

rm -rf dist
uv run -m build
uv run twine check dist/*
uv run twine upload dist/*

Validate pyproject.toml

To validate changes after manually editing pyproject.toml, run:

uvx --from 'validate-pyproject[all]' validate-pyproject pyproject.toml

License

By contributing, you agree that your contributions will be licensed under Apache License, Version 2.0