Contribution can take many forms, all of which would be greatly appreciated.
As this is a relatively new project, it is not widely known. If you find Instancio useful, please help spread the word. Any mention on social media, blogs, articles, etc. would help make it a little more known.
If you come across a bug or an error in documentation, please raise an issue. For bugs, a minimal reproducible sample would be very helpful for troubleshooting.
Feedback is also very welcome, whether positive or negative. If you have a question or feedback, please create a post in the Discussions. No post will go unanswered. :)
Pull requests for bug fixes would be greatly appreciated! If you'd like to add a new feature, consider creating an issue first to discuss the details.
To build the project, the following pages should get you started:
When writing code, consider the following:
- Import the format config for IntelliJ. (No config file available for Eclipse yet).
- Follow existing naming conventions.
- Include only the necessary changes for the PR. Unrelated changes/refactoring can be submitted as a separate PR.
- All public APIs should have a javadoc and a
@since
tag, includingpackage-info.java
for packages.- Javadocs should include examples, if applicable.
- Do not include
@author
tags. Your username will appear on the Contributors page on GitHub after merge.
- Goes without saying: add tests :) Ideally, tests should all conditional branches.
- Squash all your commits into one and rebase your changes on top of main. Do not merge main into your feature branch.
- Create a descriptive commit message.
Instancio is distributed under Apache License Version 2.0. Any content you contribute will be distributed under the project license.