Thank you for your interest in contributing to the Klime Java SDK!
This repository is a read-only mirror of our internal monorepo.
- Pull requests are welcome and will be reviewed
- If accepted, we'll manually port changes to our internal monorepo
- Changes appear in this repository with the next release
- You'll be credited as a co-author in the commit
-
Fork this repository
-
Clone your fork
git clone https://github.com/YOUR_USERNAME/klime-java.git cd klime-java -
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Follow Java coding conventions
- Add tests for new functionality
- Update documentation as needed
-
Run the tests
mvn test -
Commit your changes
git commit -m "Add: description of your change" -
Push to your fork
git push origin feature/your-feature-name
-
Open a Pull Request
- Java 11 or later
- Maven 3.6+
# Compile
mvn compile
# Run tests
mvn test
# Package
mvn package
# Install to local Maven repository
mvn install- Follow standard Java conventions
- Use meaningful variable and method names
- Add Javadoc for public methods
- Keep methods focused and small
- Prefer immutability where possible
- Write unit tests for all new functionality
- Integration tests should use the built-in HTTP server (
com.sun.net.httpserver) - Disable auto-flush in tests to avoid flakiness
- Tests should be fast (< 100ms total)
- Check existing issues before creating a new one
- Include Java version and Maven version
- Provide a minimal reproducible example
- Include stack traces for errors
If you have questions about contributing, feel free to open an issue with the "question" label.