Add Contributing Guidelines and Code of Conduct
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
This commit is contained in:
parent
2e13f9f9df
commit
1adfa8a047
1 changed files with 233 additions and 5 deletions
91
CONTRIBUTING.md
Normal file
91
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
# Contributing to Model Context Protocol Java SDK
|
||||
|
||||
Thank you for your interest in contributing to the Model Context Protocol Java SDK!
|
||||
This document outlines how to contribute to this project.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
The following software is required to work on the codebase:
|
||||
|
||||
- `Java 17` or above
|
||||
- `Docker`
|
||||
- `npx`
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Fork the repository
|
||||
2. Clone your fork:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/YOUR-USERNAME/java-sdk.git
|
||||
cd java-sdk
|
||||
```
|
||||
|
||||
3. Build from source:
|
||||
|
||||
```bash
|
||||
./mvnw clean install -DskipTests # skip the tests
|
||||
./mvnw test # run tests
|
||||
```
|
||||
|
||||
## Reporting Issues
|
||||
|
||||
Please create an issue in the repository if you discover a bug or would like to
|
||||
propose an enhancement. Bug reports should have a reproducer in the form of a code
|
||||
sample or a repository attached that the maintainers or contributors can work with to
|
||||
address the problem.
|
||||
|
||||
## Making Changes
|
||||
|
||||
1. Create a new branch:
|
||||
|
||||
```bash
|
||||
git checkout -b feature/your-feature-name
|
||||
```
|
||||
|
||||
2. Make your changes
|
||||
3. Validate your changes:
|
||||
|
||||
```bash
|
||||
./mvnw clean test
|
||||
```
|
||||
|
||||
### Change Proposal Guidelines
|
||||
|
||||
#### Principles of MCP
|
||||
|
||||
1. **Simple + Minimal**: It is much easier to add things to the codebase than it is to
|
||||
remove them. To maintain simplicity, we keep a high bar for adding new concepts and
|
||||
primitives as each addition requires maintenance and compatibility consideration.
|
||||
2. **Concrete**: Code changes need to be based on specific usage and implementation
|
||||
challenges and not on speculative ideas. Most importantly, the SDK is meant to
|
||||
implement the MCP specification.
|
||||
|
||||
## Submitting Changes
|
||||
|
||||
1. For non-trivial changes, please clarify with the maintainers in an issue whether
|
||||
you can contribute the change and the desired scope of the change.
|
||||
2. For trivial changes (for example a couple of lines or documentation changes) there
|
||||
is no need to open an issue first.
|
||||
3. Push your changes to your fork.
|
||||
4. Submit a pull request to the main repository.
|
||||
5. Follow the pull request template.
|
||||
6. Wait for review.
|
||||
|
||||
## Code of Conduct
|
||||
|
||||
This project follows a Code of Conduct. Please review it in
|
||||
[CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md).
|
||||
|
||||
## Questions
|
||||
|
||||
If you have questions, please create a discussion in the repository.
|
||||
|
||||
## License
|
||||
|
||||
By contributing, you agree that your contributions will be licensed under the MIT
|
||||
License.
|
||||
|
||||
## Security
|
||||
|
||||
Please review our [Security Policy](SECURITY.md) for reporting security issues.
|
||||
Loading…
Reference in a new issue