Skip to content

Latest commit

 

History

History
109 lines (73 loc) · 2.56 KB

File metadata and controls

109 lines (73 loc) · 2.56 KB

Contributing to UML-MCP

Thank you for considering contributing. This document explains how to set up your environment, run tests, and submit changes.

Code of conduct

By participating, you agree to uphold our Code of Conduct.

Getting started

Prerequisites

Development setup

  1. Fork and clone the repo:

    git clone https://github.com/YOUR_USERNAME/uml-mcp.git
    cd uml-mcp
  2. Create a virtual environment and install dependencies (including dev):

    With uv (recommended):

    uv sync --all-groups

    With Poetry:

    poetry install --with dev

    With pip:

    pip install -e ".[dev]"
    # or: pip install -e . -r requirements-dev.txt
  3. (Optional) Install pre-commit hooks so lint/format run before each commit:

    uv run pre-commit install
    # or: poetry run pre-commit install

Development workflow

Running the server

From the project root:

python server.py
# or: uv run python server.py
# or: poetry run python server.py

Running tests

uv run pytest
# or: poetry run pytest
# or: pytest

With coverage:

uv run pytest --cov=mcp_core --cov=tools --cov-report=term-missing

Linting and formatting

  • Lint: uv run ruff check . (use --fix for auto-fixes).
  • Format: uv run ruff format . (or use pre-commit for both).
  • Type check: uv run ty check (optional, gradual adoption).

Make sure tests and lint pass before opening a pull request.

Pull requests

  1. Create a branch from main: git checkout -b fix/short-description or feature/short-description.
  2. Make your changes; keep commits focused and messages clear.
  3. Run tests and lint (see above).
  4. Push to your fork and open a PR using the pull request template.
  5. Fill in the checklist in the template (tests, docs, style).
  6. Address review feedback; we may ask for small edits.

Reporting issues

Include OS, Python version, and how you run the server when relevant.

Security

See SECURITY.md for how to report vulnerabilities.

Documentation

  • User-facing docs are under docs/ (e.g. MkDocs).
  • Update docs/ and README when changing behavior or configuration.

Thanks for contributing.