Spaces:
Sleeping
A newer version of the Gradio SDK is available:
5.42.0
Contributing to TutorX-MCP
Thank you for considering contributing to TutorX-MCP! This document outlines the process and guidelines for contributing to this project.
Code of Conduct
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
How to Contribute
Reporting Bugs
If you find a bug, please create an issue with the following information:
- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Any relevant logs or screenshots
- Your environment (OS, Python version, etc.)
Suggesting Enhancements
We welcome suggestions for enhancements! Please create an issue with:
- A clear, descriptive title
- Detailed description of the proposed enhancement
- Any specific use cases or examples
- Any relevant references or resources
Pull Requests
We actively welcome pull requests:
- Fork the repo
- Create a branch from
main
- Make your changes
- Ensure your code follows the project's style guide
- Run tests if available
- Create a pull request to
main
Development Setup
Clone the repository:
git clone https://github.com/yourusername/tutorx-mcp.git cd tutorx-mcp
Install dependencies:
# Using uv (recommended) uv install # Or using pip pip install -e .
Run the server:
python run.py --mode both
Project Structure
main.py
- MCP server implementationapp.py
- Gradio interfacerun.py
- Runner scriptutils/
- Utility modulesmultimodal.py
- Multi-modal processingassessment.py
- Assessment functions
tools/
- Additional tools and utilities
Adding New Features
When adding new features, please follow these guidelines:
For MCP tools and resources:
- Add them to
main.py
- Use proper type hints and docstrings
- Follow the existing pattern
- Add them to
For Gradio interface components:
- Add them to
app.py
- Match the style of existing components
- Ensure they interact properly with MCP tools
- Add them to
For utility functions:
- Add them to appropriate files in
utils/
- Include proper documentation and tests
- Add them to appropriate files in
Style Guide
- Follow PEP 8 guidelines
- Use meaningful variable and function names
- Include docstrings for all functions and classes
- Type hints are encouraged
License
By contributing, you agree that your contributions will be licensed under the project's MIT License.