Skip to content

Contributing

Thank you for your interest in contributing to MCPOmni Connect! This project thrives on community contributions.

Ways to Contribute

🐛 Bug Reports

Found a bug? Help us fix it:

  1. Check existing issues first
  2. Create a new issue with:
  3. Clear description of the problem
  4. Steps to reproduce
  5. Expected vs actual behavior
  6. Environment details (OS, Python version, etc.)

💡 Feature Requests

Have an idea for improvement?

  1. Check discussions for similar ideas
  2. Open a new discussion or issue describing:
  3. The problem your feature would solve
  4. Proposed solution
  5. Alternative solutions considered

📝 Documentation

Help improve our documentation:

  • Fix typos or unclear instructions
  • Add examples or use cases
  • Improve API documentation
  • Translate documentation (future)

🔧 Code Contributions

Ready to code? Follow the development setup guide.

Documentation Contributions

Working with MkDocs

This documentation site uses MkDocs with Material theme:

# Install documentation dependencies
pip install -r docs/requirements.txt

# Serve documentation locally
mkdocs serve

# Build documentation
mkdocs build

Documentation Structure

docs/
├── index.md              # Homepage
├── getting-started/       # Installation and quick start
├── configuration/         # Configuration guides
├── user-guide/           # Usage instructions
├── features/             # Feature deep-dives
├── advanced/             # Advanced topics
└── development/          # Development guides

Writing Guidelines

Documentation Style

  • Use clear, concise language
  • Include practical examples
  • Add code snippets where helpful
  • Use admonitions (tips, warnings, etc.) for important information
  • Test all code examples before committing

Development Process

1. Fork and Clone

git clone https://github.com/YOUR_USERNAME/mcp_omni_connect.git
cd mcp_omni_connect

2. Set Up Development Environment

# Install UV (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv sync

# Install pre-commit hooks
pre-commit install

3. Create Feature Branch

git checkout -b feature/your-feature-name

4. Make Changes

  • Write code following the project style
  • Add tests for new functionality
  • Update documentation as needed
  • Ensure all tests pass

5. Submit Pull Request

  1. Push your branch to your fork
  2. Create a pull request with:
  3. Clear description of changes
  4. Link to related issues
  5. Screenshots (if UI changes)

Code Standards

Python Code

  • Follow PEP 8 style guidelines
  • Use type hints where appropriate
  • Write docstrings for public functions
  • Add unit tests for new features

Documentation

  • Use Markdown formatting
  • Follow the existing structure
  • Include code examples
  • Test all examples before committing

Testing

Run Tests Locally

# Run all tests
pytest tests/ -v

# Run specific test file
pytest tests/test_specific.py -v

# Run with coverage
pytest tests/ --cov=src --cov-report=term-missing

Documentation Testing

# Test documentation build
mkdocs build --strict

# Serve and test locally
mkdocs serve

Getting Help

Need help contributing?

Recognition

Contributors are recognized in:

  • CHANGELOG.md for their contributions
  • GitHub contributors page
  • Special thanks in release notes

Thank you for helping make MCPOmni Connect better! 🚀