Thank you for your interest in contributing to ConfigurationAPI!
All contributions are welcome — bug fixes, improvements, and new ideas.
To keep the project clean and maintainable, please follow these principles:
- Write clear, readable, and consistent code
- Prefer simple and predictable implementations
- Maintain thread-safety guarantees
- Avoid unnecessary complexity or over-engineering
Requirements:
- Java 21+
- Maven 3+
Build the project:
mvn clean package- Fork the repository (use a personal fork, not an organization)
- Create a new branch:
git checkout -b feature/my-change- Make your changes
- Commit using clear messages:
git commit -m "feat: improve config loading performance" - Push and open a Pull Request
- Follow standard Java conventions (IDE defaults are fine)
- Keep methods focused and small
- Use meaningful names
- Avoid var where clarity suffers
- Add Javadoc for all public APIs
- All public classes and methods must include Javadoc
- Javadoc must be doclint-compliant (no invalid HTML)
- Include
@sincewhere appropriate
- Ensure your changes do not break existing behavior
- If applicable, test:
- config reloads
- invalid YAML handling
- watcher behavior
Keep PRs focused and minimal
- Explain why the change is needed
- Large changes should be discussed in an issue first
- Do not introduce breaking changes without discussion
- Do not add unnecessary dependencies
- Do not change public API behavior without justification
If you're unsure about something, open an issue first — happy to help.