Thank you for your interest in contributing to CacheFlow! This document provides guidelines and information for contributors.
- JDK 17 or higher
- Gradle 7.0 or higher
- Git
- Fork the repository
- Clone your fork:
git clone https://github.com/mmorrison/cacheflow-spring-boot-starter.git - Create a feature branch:
git checkout -b feature/your-feature-name - Make your changes
- Run tests:
./gradlew test - Commit your changes:
git commit -m "Add your feature" - Push to your fork:
git push origin feature/your-feature-name - Create a Pull Request
- Follow Kotlin Coding Conventions
- Use
ktlintfor code formatting - Write meaningful variable and function names
- Add KDoc comments for public APIs
- Write unit tests for new features
- Maintain test coverage above 80%
- Use descriptive test names
- Follow AAA pattern (Arrange, Act, Assert)
- Update README.md for user-facing changes
- Add/update API documentation
- Include examples for new features
When reporting bugs, please include:
- CacheFlow version
- Java/Kotlin version
- Spring Boot version
- Steps to reproduce
- Expected vs actual behavior
- Logs and stack traces
Before submitting feature requests:
- Check existing issues and discussions
- Describe the use case and benefits
- Consider backward compatibility
- Provide implementation ideas if possible
- Small, focused changes - One feature/fix per PR
- Clear description - Explain what and why
- Tests included - New features need tests
- Documentation updated - Update relevant docs
- Backward compatible - Avoid breaking changes
- CI passes - All checks must pass
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Unit tests added/updated
- [ ] Integration tests added/updated
- [ ] Manual testing completed
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No breaking changes (or clearly documented)Releases follow Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes (backward compatible)
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: Questions and general discussion
- Email: [your-email@example.com]
feature/description- New featuresfix/description- Bug fixesdocs/description- Documentation updatesrefactor/description- Code refactoring
Follow Conventional Commits:
feat: add edge cache purging
fix: resolve Redis connection timeout
docs: update installation guide
refactor: simplify cache key generation
- Be constructive and respectful
- Focus on code quality and maintainability
- Ask questions if something is unclear
- Suggest improvements, don't just criticize
- Performance: Optimize cache operations
- Testing: Improve test coverage
- Documentation: Examples and guides
- Integrations: New edge cache providers
- Monitoring: Enhanced metrics and observability
Thank you for contributing to CacheFlow! 🎉