Contributor Guide#

Thank you for your interest in contributing to JamfMCP! This guide will help you get started.

Code of Conduct#

By participating in this project, you agree to abide by our code of conduct:

  • Be respectful and inclusive

  • Welcome newcomers and help them get started

  • Focus on constructive criticism

  • Respect differing viewpoints and experiences

Prerequisites#

  • Python 3.13 or higher

  • uv package manager

  • Git for version control

  • GitHub account

Development Overview#

๐Ÿ‘พ Development Guide

Configuring your development environment for best success

Development Guide
๐Ÿ” Security Considerations

Security practices to keep in mind when contributing

Security Considerations
๐Ÿš€ FastMCP Logging

Implementing FastMCP logging mechanisms

FastMCP Client Logging
๐Ÿงช Testing

Testing strategies and running tests

Testing Guide

Development Principles#

Code Quality#

  • Type Hints: All functions typed

  • Docstrings: Sphinx-style documentation

  • Testing: Comprehensive test coverage

  • Linting: Ruff for style consistency

Async First#

  • All API calls are async

  • Use asyncio patterns

  • Handle concurrency properly

  • Avoid blocking operations

Error Handling#

  • Structured error responses

  • Proper logging at all levels

  • Graceful degradation

  • User-friendly messages