java-sdk/CONTRIBUTING.md
Dariusz Jędrzejczyk 1adfa8a047 Add Contributing Guidelines and Code of Conduct
Signed-off-by: Dariusz Jędrzejczyk <dariusz.jedrzejczyk@broadcom.com>
2025-05-16 11:47:39 +02:00

91 lines
No EOL
2.4 KiB
Markdown

# 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.