Spaces:
Sleeping
Sleeping
File size: 2,554 Bytes
7867e85 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# 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](CODE_OF_CONDUCT.md). 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:
1. A clear, descriptive title
2. Steps to reproduce the issue
3. Expected behavior
4. Actual behavior
5. Any relevant logs or screenshots
6. Your environment (OS, Python version, etc.)
### Suggesting Enhancements
We welcome suggestions for enhancements! Please create an issue with:
1. A clear, descriptive title
2. Detailed description of the proposed enhancement
3. Any specific use cases or examples
4. Any relevant references or resources
### Pull Requests
We actively welcome pull requests:
1. Fork the repo
2. Create a branch from `main`
3. Make your changes
4. Ensure your code follows the project's style guide
5. Run tests if available
6. Create a pull request to `main`
## Development Setup
1. Clone the repository:
```bash
git clone https://github.com/yourusername/tutorx-mcp.git
cd tutorx-mcp
```
2. Install dependencies:
```bash
# Using uv (recommended)
uv install
# Or using pip
pip install -e .
```
3. Run the server:
```bash
python run.py --mode both
```
## Project Structure
- `main.py` - MCP server implementation
- `app.py` - Gradio interface
- `run.py` - Runner script
- `utils/` - Utility modules
- `multimodal.py` - Multi-modal processing
- `assessment.py` - Assessment functions
- `tools/` - Additional tools and utilities
## Adding New Features
When adding new features, please follow these guidelines:
1. For MCP tools and resources:
- Add them to `main.py`
- Use proper type hints and docstrings
- Follow the existing pattern
2. For Gradio interface components:
- Add them to `app.py`
- Match the style of existing components
- Ensure they interact properly with MCP tools
3. For utility functions:
- Add them to appropriate files in `utils/`
- Include proper documentation and tests
## 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](LICENSE).
|