Thank you for considering contributing. This document explains how to set up your environment, run tests, and submit changes.
By participating, you agree to uphold our Code of Conduct.
-
Fork and clone the repo:
git clone https://github.com/YOUR_USERNAME/uml-mcp.git cd uml-mcp -
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
-
(Optional) Install pre-commit hooks so lint/format run before each commit:
uv run pre-commit install # or: poetry run pre-commit install
From the project root:
python server.py
# or: uv run python server.py
# or: poetry run python server.pyuv run pytest
# or: poetry run pytest
# or: pytestWith coverage:
uv run pytest --cov=mcp_core --cov=tools --cov-report=term-missing- Lint:
uv run ruff check .(use--fixfor 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.
- Create a branch from
main:git checkout -b fix/short-descriptionorfeature/short-description. - Make your changes; keep commits focused and messages clear.
- Run tests and lint (see above).
- Push to your fork and open a PR using the pull request template.
- Fill in the checklist in the template (tests, docs, style).
- Address review feedback; we may ask for small edits.
- Bugs: Use the bug report template.
- Features: Use the feature request template.
Include OS, Python version, and how you run the server when relevant.
See SECURITY.md for how to report vulnerabilities.
- User-facing docs are under
docs/(e.g. MkDocs). - Update
docs/and README when changing behavior or configuration.
Thanks for contributing.