Skip to main content

Welcome Contributors! 🎉

Thank you for your interest in contributing to MCPHub! This guide will help you get started with contributing to the project, whether you’re fixing bugs, adding features, improving documentation, or helping with testing.

Quick Start

  1. Fork the repository on GitHub
  2. Clone your fork locally
  3. Create a branch for your changes
  4. Make your changes following our guidelines
  5. Test your changes thoroughly
  6. Submit a pull request

Ways to Contribute

🐛 Bug Reports

Help us improve MCPHub by reporting bugs:
  • Search existing issues first to avoid duplicates
  • Use the bug report template when creating issues
  • Provide detailed information including steps to reproduce
  • Include system information (OS, Node.js version, etc.)

✨ Feature Requests

We welcome feature suggestions:
  • Check existing feature requests to avoid duplicates
  • Use the feature request template
  • Explain the use case and why it would be valuable
  • Consider implementation complexity

🔧 Code Contributions

Ready to write some code? Here’s how:

Setting Up Development Environment

Branch Naming Convention

Use descriptive branch names with prefixes:

📚 Documentation

Help improve our documentation:
  • Fix typos and grammar
  • Improve existing guides
  • Add missing documentation
  • Create tutorials and examples
  • Translate documentation

Development Guidelines

Code Style

We use ESLint and Prettier to maintain code quality:

TypeScript Best Practices

React/Frontend Guidelines

Testing Requirements

All contributions must include appropriate tests:

Unit Tests

Integration Tests

End-to-End Tests

Commit Guidelines

We follow Conventional Commits:

Commit Types

  • feat: New feature
  • fix: Bug fix
  • docs: Documentation changes
  • style: Code style changes (formatting, etc.)
  • refactor: Code refactoring
  • test: Adding or updating tests
  • chore: Maintenance tasks
  • perf: Performance improvements
  • ci: CI/CD changes

Pull Request Process

Before Submitting

Pull Request Template

Code Review Process

For Contributors

  • Be patient: Reviews take time, and reviewers may have questions
  • Be responsive: Address feedback promptly and clearly
  • Be open: Accept constructive criticism and suggestions
  • Ask questions: If feedback is unclear, ask for clarification

For Reviewers

  • Be constructive: Provide helpful suggestions, not just criticism
  • Be specific: Point out exact issues and suggest solutions
  • Be timely: Review PRs within a reasonable timeframe
  • Be encouraging: Recognize good work and improvements

Community Guidelines

Code of Conduct

We are committed to providing a welcoming and inspiring community for all:
  • Be respectful: Treat everyone with respect and kindness
  • Be inclusive: Welcome people of all backgrounds and skill levels
  • Be collaborative: Work together towards common goals
  • Be patient: Help others learn and grow
  • Be professional: Maintain professional communication

Communication Channels

  • GitHub Issues: Bug reports and feature requests
  • GitHub Discussions: General questions and community chat
  • Discord: Real-time community chat (link in README)
  • Email: Security issues and private matters

Getting Help

Documentation

Common Issues

Build Failures
Test Failures
Database Issues

Getting Support

If you need help:
  1. Check the documentation first
  2. Search existing issues on GitHub
  3. Ask in GitHub Discussions for general questions
  4. Create an issue if you found a bug
  5. Join our Discord for real-time help

Recognition

Contributors will be recognized in several ways:
  • Contributors file: All contributors are listed in CONTRIBUTORS.md
  • Release notes: Significant contributions are mentioned in release notes
  • GitHub badges: Active contributors receive special recognition
  • Community showcase: Outstanding contributions are featured in our blog

Advanced Topics

Maintainer Guidelines

For project maintainers:

Release Process

Security Handling

For security issues:
  1. Do not create public issues
  2. Email security@mcphub.dev
  3. Wait for response before disclosure
  4. Coordinate with maintainers on fixes

Architectural Decisions

When making significant changes:
  1. Create an RFC (Request for Comments) issue
  2. Discuss with the community
  3. Get approval from maintainers
  4. Document decisions in ADR (Architecture Decision Records)

Thank You! 🙏

Thank you for taking the time to contribute to MCPHub! Every contribution, no matter how small, helps make the project better for everyone. We look forward to collaborating with you!