TutorX-MCP / CONTRIBUTING.md
Meet Patel
Step 6: Enhanced documentation with detailed README, CODE_OF_CONDUCT, CONTRIBUTING guide, and LICENSE
7867e85
# 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).