Contributing to Keycloak MCP Server
Thank you for your interest in contributing to Keycloak MCP Server! This document provides guidelines and instructions for contributors.
Code of Conduct
Please be respectful and considerate of others when contributing to this project. We aim to foster an inclusive and welcoming community.
How to Contribute
Reporting Issues
If you find a bug or have a suggestion for improving Keycloak MCP Server:
- Check if the issue already exists in the GitHub Issues
- If not, create a new issue with a descriptive title and detailed information about:
- What you expected to happen
- What actually happened
- Steps to reproduce the issue
- Your environment (OS, Java version, Keycloak version, etc.)
Pull Requests
Pull requests are welcomed for bug fixes, improvements, and new features:
- Fork the repository
- Create a new branch for your changes
- Make your changes
- Write or update tests as needed
- Ensure all tests pass with
./gradlew test
- Make a sanity test locally, to check nothing is broken
- Submit a pull request
Pull Request Process
- Update the README.md or documentation with details of changes if appropriate
- The PR should work on all supported platforms (Linux, macOS, Windows)
- PRs require review from at least one maintainer before merging
- Once approved, a maintainer will merge your PR
Development Workflow
- Clone your fork of the repository
- Set up the development environment as described in the developers.md file
- Make your changes in a new git branch
- Test your changes thoroughly
- Push your branch to GitHub and submit a pull request
Coding Standards
- Follow the existing code style in the project
- Write clear, readable, and maintainable code
- Include comments where necessary
- Write unit tests for new functionality
- Follow Java best practices
To control the version number, use conventional commit messages:
fix: ... - for bug fixes (creates a PATCH release)
feat: ... - for new features (creates a MINOR release)
feat!: ... or fix!: ... or any commit with BREAKING CHANGE: in the footer - for breaking changes (creates a MAJOR release)
Working with Keycloak
When contributing features that interact with Keycloak:
- Ensure your code works with the supported Keycloak versions
- Test your changes against a running Keycloak instance
- Document any Keycloak-specific configuration requirements
License
This project is distributed under the MIT License. See the LICENSE file for more information.