Great to have you here. Whether it's improving documentation, adding a new component, or suggesting an issue that will help us improve, all contributions are welcome!
- You can look through the existing features/ bugs in the issues, if not please create a new issue.
- Please note we have a code of conduct, please follow it in all your interactions with the project.
- Tests: All new Java methods should have correlated JUnit tests
- Coverage: Ensure that code coverage does not fall below 80%
- Documentation: Code should be well-documented. What code is doing should be self-explanatory based on coding conventions. Why code is doing something should be explained:
- Java code should have JavaDoc
pom.xml
should have comments- Unit tests should have comments and failure messages
- Integration tests should have comments and failure messages
- Code Style: We try to follow Google's Coding Standards. It's easiest to format based on existing code you see. We don't enforce this; it's just a guideline
The team that owns this repo is expected to practice the following:
The pull request review SLA is 7 days
- Address any incoming PRs for contributions
- Prioritize feature requests if handled by the team itself
- Support the contributor through code guidance and contribution recognition
All contributions should be done through a fork
-
Once the alignment is reached. Fork and Clone. From the GitHub UI, fork the project into your user space or another organization.
-
Create a branch in your forked repo.
-
Make your changes, including documentation. Writing good commit logs is important. Follow the Local Development steps to get started.
A commit log should describe what changed and why. Make sure that the commit message contains the Issue number.
-
Test. Bug fixes and features should come with tests and coverage should meet or exceed 80%. Make sure all tests pass. Please do not submit patches that fail this check.
-
Push your changes to your fork's branch. Use
git rebase
(notgit merge
) to sync your work from time to time. -
In GitHub, create a Pull Request to the upstream repository. On your forked repo, click the 'Pull Request' button and fill out the form.
-
Making a PR will automatically trigger a series of checks against your changes.
-
The team will reach out if they need more information or to make suggestions.
Once the PR is good to go, the team will merge it, and you'll be credited as a contributor! Reach out to the team to follow their release cycle. These key questions can help you know what to expect:
- Are there ownership expectations in preprod/prod for a period of time?
- When can a contributor expect to see merged code built and deployed to preprod and prod?
- How can a contributor validate their code changes after changes have been deployed?
- Need to get in contact with the team? The best people to start with are the project code owners.