Thank you for your interest in contributing! This document provides guidelines and instructions for contributing to the project.
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Gradle version and project details
- Screenshots if applicable
- Check existing Issues for similar suggestions
- Create a new issue with:
- Clear description of the enhancement
- Use cases and benefits
- Possible implementation approach
- Fork the repository
- Create a feature branch from
maingit checkout -b feature/your-feature-name
- Make your changes
- Write or update tests as needed
- Ensure all tests pass
./gradlew test - Commit your changes with clear messages
git commit -m "Add feature: description" - Push to your fork
git push origin feature/your-feature-name
- Open a Pull Request
- Follow Java naming conventions
- Use meaningful variable and method names
- Add JavaDoc comments for public APIs
- Keep methods focused and concise
- Use proper exception handling
- Use ES6+ features
- Follow consistent naming conventions
- Add comments for complex logic
- Keep functions small and focused
- Use meaningful class names
- Follow BEM methodology where appropriate
- Keep styles modular and reusable
- Use CSS variables for theming
- Write unit tests for new features
- Ensure existing tests pass
- Test with different Gradle versions
- Test with multi-module projects
- Update README.md for new features
- Add inline comments for complex code
- Update API documentation
- Include usage examples
To add a new Gradle 9 issue detector:
-
Add pattern to
GradleIssueDetector.java:ISSUE_PATTERNS.put("YOUR_ISSUE_TYPE", new IssuePattern( Pattern.compile("your-regex-pattern"), "SEVERITY", "Issue Title", "Issue Description", autoFixable ));
-
Implement fix logic in
AutoFixer.java:case "YOUR_ISSUE_TYPE": return fixYourIssue(content, currentCode, suggestedFix);
-
Add explanation in
generateDetailedExplanation()method -
Add fix generation in
generateSuggestedFix()method -
Write tests for the new detector
-
Update README.md with the new issue type
- Maintain consistent design language
- Ensure responsive design
- Use semantic HTML
- Provide clear user feedback
- Include loading states
- Handle errors gracefully
- Update version in
build.gradle - Update CHANGELOG.md
- Create a release tag
- Build and test the release
- Publish release notes
- Open a discussion on GitHub
- Join our community chat
- Email: [email protected]
Contributors will be recognized in:
- README.md contributors section
- Release notes
- Project website
Thank you for contributing! 🎉