Skip to main content

Contributing

Help improve the Java 25 Maven Template for everyone

How to Contribute

Thank you for your interest in contributing to the Java 25 Maven Template! There are many ways to contribute, and we appreciate all of them.

๐Ÿ›

Report Issues

Found a bug or have a problem? Open an issue on GitHub with detailed information about the problem and steps to reproduce it.

๐Ÿ’ก

Suggest Features

Have an idea for improvement? Create a feature request on GitHub describing the feature and why it would be valuable.

๐Ÿ”ง

Submit Pull Requests

Want to contribute code? Fork the repository, make your changes, and submit a pull request with a clear description.

๐Ÿ“–

Improve Documentation

Documentation can always be better! Help us improve guides, fix typos, or add examples.

Development Setup

Follow these steps to set up the project for development.

1

Fork & Clone

# Fork the repository on GitHub, then clone your fork
git clone https://github.com/YOUR_USERNAME/java-maven-template.git
cd java-maven-template
2

Create a Branch

# Create a feature branch for your changes
git checkout -b feature/your-feature-name
3

Make Changes

Make your changes following our code standards and best practices.

4

Test Your Changes

# Run all tests
./mvnw verify

# Format code
./mvnw spotless:apply
5

Submit Pull Request

# Commit and push your changes
git add .
git commit -m "Description of your changes"
git push origin feature/your-feature-name

Then open a pull request on GitHub with a clear description of your changes.

Code Standards

Follow these guidelines to ensure your contributions meet our quality standards.

โœจ Code Formatting

  • All code must pass Spotless formatting checks
  • Run ./mvnw spotless:apply before committing
  • Follow Google Java Format (AOSP style)
  • Use consistent naming conventions

๐Ÿงช Testing Requirements

  • Add tests for new features
  • Ensure all tests pass with ./mvnw verify
  • Maintain or improve code coverage
  • Write clear, descriptive test names

๐Ÿ“– Documentation

  • Update documentation for new features
  • Add JavaDoc comments for public APIs
  • Update README if necessary
  • Include examples where helpful

๐Ÿ’ฌ Commit Messages

  • Use clear, descriptive commit messages
  • Start with a verb (Add, Fix, Update, etc.)
  • Keep the first line under 50 characters
  • Add details in the commit body if needed

Pull Request Guidelines

To help us review and merge your contributions quickly, please follow these guidelines.

๐Ÿ“ Before Submitting

  • โœ… Ensure all tests pass (./mvnw verify)
  • โœ… Run code formatting (./mvnw spotless:apply)
  • โœ… Update documentation for your changes
  • โœ… Add tests for new functionality
  • โœ… Check that your changes work with Java 25
  • โœ… Rebase on the latest main branch

๐Ÿ’ก PR Description Template

## Description
[Brief description of what this PR does]

## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Documentation update
- [ ] Refactoring
- [ ] Other (please describe)

## Testing
[Describe how you tested your changes]

## Checklist
- [ ] Tests pass
- [ ] Code formatted with Spotless
- [ ] Documentation updated
- [ ] No breaking changes

Community

Join our community and help make this template better for everyone.

๐Ÿค

Code of Conduct

We are committed to providing a welcoming and inclusive environment. Please treat all contributors with respect and kindness.

๐Ÿ’ฌ

Getting Help

Have questions? Open an issue on GitHub or check existing discussions. We're here to help!

Ready to Contribute?

Check out the open issues on GitHub and start contributing today!

Support This Project

If you find this template useful, consider supporting its development!

Buy Me A Coffee