CONTRIBUTING.md•4.93 kB
# Contributing to Monsoft MCPs
Thank you for your interest in contributing to Monsoft MCPs! We're excited to have you join our community of contributors. This document provides guidelines and instructions for contributing to this project.
## Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct. Please read it before contributing.
## How Can I Contribute?
### Reporting Bugs
This section guides you through submitting a bug report. Following these guidelines helps maintainers understand your report, reproduce the behavior, and find related reports.
- **Use the GitHub issue tracker** — Check if the bug has already been reported by searching on GitHub under [Issues](https://github.com/Monsoft-Solutions/model-context-protocols/issues).
- **Use a clear and descriptive title** for the issue to identify the problem.
- **Describe the exact steps which reproduce the problem** in as much detail as possible.
- **Provide specific examples** to demonstrate the steps.
- **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
- **Explain which behavior you expected to see instead and why.**
- **Include screenshots and animated GIFs** if possible.
- **If the problem wasn't triggered by a specific action**, describe what you were doing before the problem happened.
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion, including completely new features and minor improvements to existing functionality.
- **Use the GitHub issue tracker** — Check if the enhancement has already been suggested by searching on GitHub under [Issues](https://github.com/Monsoft-Solutions/model-context-protocols/issues).
- **Use a clear and descriptive title** for the issue to identify the suggestion.
- **Provide a step-by-step description of the suggested enhancement** in as much detail as possible.
- **Provide specific examples to demonstrate the steps** or point to similar features in other projects.
- **Describe the current behavior** and **explain which behavior you expected to see instead** and why.
- **Explain why this enhancement would be useful** to most users.
### Your First Code Contribution
Unsure where to begin contributing? You can start by looking through these `beginner` and `help-wanted` issues:
- [Beginner issues](https://github.com/Monsoft-Solutions/model-context-protocols/labels/beginner) - issues which should only require a few lines of code, and a test or two.
- [Help wanted issues](https://github.com/Monsoft-Solutions/model-context-protocols/labels/help%20wanted) - issues which should be a bit more involved than `beginner` issues.
### Pull Requests
- Fill in the required template
- Do not include issue numbers in the PR title
- Include screenshots and animated GIFs in your pull request whenever possible
- Follow the JavaScript/TypeScript styleguides
- Include adequate tests
- Document new code
- End all files with a newline
## Development Process
### Setting Up Development Environment
1. Fork the repository
2. Clone your fork:
```bash
git clone https://github.com/your-username/model-context-protocols.git
cd model-context-protocols
```
3. Install dependencies:
```bash
npm install
# or
yarn install
```
4. Create a new branch:
```bash
git checkout -b feature/your-feature-name
```
### Coding Standards
- Use TypeScript for all new code
- Follow the existing code style
- Write meaningful commit messages
- Add appropriate documentation for new features
- Write tests for new functionality
### Testing
- Run existing tests before submitting a PR:
```bash
npm test
# or
yarn test
```
- Add new tests for new functionality
### Documentation
- Update documentation for any changed functionality
- Document new MCPs thoroughly, including:
- Purpose and use cases
- Configuration options
- Example usage
- Any limitations or known issues
## Creating a New MCP
If you're developing a new MCP for the project:
1. Use the existing MCPs as templates
2. Follow the MCP specification
3. Include comprehensive documentation
4. Provide example usage
5. Add appropriate tests
## Submitting Changes
1. Push your changes to your fork
2. Submit a pull request to the main repository
3. The core team will review your pull request
4. Address any feedback or requested changes
5. Once approved, your changes will be merged
## Additional Resources
- [Model Context Protocol Documentation](https://modelcontextprotocol.io/)
- [TypeScript Documentation](https://www.typescriptlang.org/docs/)
- [Node.js Documentation](https://nodejs.org/en/docs/)
## Questions?
If you have any questions or need help, please:
- Open an issue on GitHub
- Contact us through our [website](https://monsoftsolutions.com)
Thank you for contributing to Monsoft MCPs!