Welcome Contributors! 🎉
Thank you for your interest in contributing to Pcnaid MCP Hub! 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
- Fork the repository on GitHub
- Clone your fork locally
- Create a branch for your changes
- Make your changes following our guidelines
- Test your changes thoroughly
- Submit a pull request
Ways to Contribute
🐛 Bug Reports
Help us improve Pcnaid MCP Hub 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
- Email: Security issues and private matters
Getting Help
Documentation
Common Issues
Build FailuresGetting Support
If you need help:- Check the documentation first
- Search existing issues on GitHub
- Ask in GitHub Discussions for general questions
- Create an issue if you found a bug
- Join our GitHub Discussions 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:- Do not create public issues
- Email security@mcphub.dev
- Wait for response before disclosure
- Coordinate with maintainers on fixes
Architectural Decisions
When making significant changes:- Create an RFC (Request for Comments) issue
- Discuss with the community
- Get approval from maintainers
- Document decisions in ADR (Architecture Decision Records)