First off, thanks for showing interest in contributing to the js2pets project! Your contributions help make this project a more feature-rich extension to the jsonschema2pojo project, and I'm excited to see what improvements and ideas you bring to the table.
Therefore, I welcome all your contributions to this repository, big or small!
Before continuing though, please refer to our Code of Conduct to learn more about our values and expectations for contributors.
You can contribute to the js2pets in a few ways. The easiest method is to start a discussion or open an issue on the repository. If you’re feeling ambitious, feel free to jump right into coding and submit a pull request.
The preferred method of contribution is to start a discussion so that both the maintainers and the community are made aware of your suggestion and/or improvement and so that both can assess if it makes sense to promote the discussion into an issue worth tracking. It should be noted that even if the discussion is promoted to an issue, it may never end up being worked on, as the need for the proposed changes may vary over time.
The details for the various ways of contributing are as described below:
If you discover a bug or unexpected behavior, please post a question on our community, start a general discussion or report the bug as an isuse and follow the instructions there. Please be as descriptive as possible, including steps to reproduce the issue and any relevant details.
We welcome your ideas for new features or improvements to existing ones. To suggest a feature, share your idea with the community or request a feature as an issue and follow the instructions there. Please be as descriptive as possible. You may even include implementation proposals!
If you instead want to suggest improvements to documentation, deployment pipelines and build processes, or report other issues or suggestions, please start a general discussion or create a task for us and follow the instructions there. Please be as descriptive as possible and select the appropriate labels.
We also encourage direct contributions that improve the project through pull requests. To submit your changes, follow these steps:
- Fork the project.
- Create a branch for your feature, bug fix or other changes.
- Implement your changes and ensure they adhere to our code style and conventions.
- Write tests to validate your changes (if applicable).
- Submit a pull request (PR) to our GitHub repository.
Your PR will be reviewed by project maintainers. If necessary, we may request further changes before merging.
To maintain a consistent codebase, we use Checkstyle with its default settings. Make sure to run Checkstyle locally before pushing your changes to catch any issues early.
For commits, we’re keeping it fun and expressive with Gitmoji. Use Gitmoji to prefix your commit messages, making them both informative and visually appealing. It's also important for our build system as it will automatically generate a new version following the Semantic Versioning 2.0.0 specification.
If you're new to Gitmoji, here’s a quick example:
✨ Add new feature to handle user authentication
By contributing to js2pets, you agree that your contributions will be licensed under The Unlicense. This means your contributions will be in the public domain, making them available for anyone to use for any purpose.
Thanks again for helping make js2pets a better tool for everyone. Your contributions are truly valued, and I look forward to working together!