Project: Fabric8 Kubernetes Client (App Definition and Development / Application Definition & Image Build)
File: CONTRIBUTING.md

We'd love to accept your patches! Since we LOVE Contributors and Contributions :-) You can start contributing to Kubernetes-Client by following the below guidelines:- (We are assuming you know about git like resolving merge conflicts, squash, setting remote etc.) Get the source code by doing a fork and then using the below command ``` git clone https://github.com/yourgithubusername/kubernetes-client.git ``` If you want to build/run the project, use command ``` mvn clean install ``` Now you can start your contribution work. There are lots of issues on kubernetes-client's . Please go through the issues and find a one which you want to fix/develop. If you want to implement something which is not there in the issues, please create a new issue. Please assign that new issue or already existing issue to yourself otherwise it may happen that someone else will fix the same issue. Please create a new branch to start your development work. You can create the branch by any name but we will suggest you consider the naming convention like ississueNumber. Example - iss989 ``` git checkout -b iss_issueNumber ``` Do all your development or fixing work here. After all your development/fixing work is done, do not forget to add `Unit Test` and `Regression Test` around that. It will be nice if you can add an example of the new feature you have added. You should run all the unit tests by hitting the following command ```shell mvn clean install ``` To run regression tests, you need to run a OpenShift/Kubernetes Cluster and after that For Kubernetes, ```shell mvn -Pitests -pl kubernetes-itests verify ``` For OpenShift (Login as Admin), ```shell mvn -Pitests -pl kubernetes-itests verify ``` If you only want to run the OpenShift specific tests: ```shell mvn -Pitests -pl kubernetes-itests verify

``` If adding a new feature or fixing some bug, please update the , Make sure you add the license headers at top of every new source file you add while implementing the feature. You can do so by hitting `mvn -N license:format` command. After all your work is done, you need to commit the changes. ``` git commit -am "Commit-Message" ``` Please add a very elaborative for the work you have done. It will help the reviewer to understand the things quickly. It may happen that during the development, someone else submitted another PATCH that is merged before yours. You need to rebase your branch with current upstream master. Before sending the PR, check whether everything is working fine. To build the project and run test ```shell mvn clean install ``` To run regression test ```shell mvn clean install -P itests ``` ```shell mvn spotless:apply ``` ``` git push origin iss_issueNumber ``` Please create a Pull Request from GitHub to kubernetes-client: master. Do not forget to provide very brief Title and elaborative description of PR. Please link the PR to issue by adding `Fix #issueNumber` at the end of the description. Your PR will get reviewed soon from the maintainers of the project. If they suggest changes, do all the changes, commit the changes, rebase the branch, squash the commits and push the changes. If all will be fine, your PR will be merged. That's it! Thank you for your contribution! Feel free to suggest changes to this documentation. If you want to discuss something with maintainers, you can ask us on `#fabric8` at Freenode or via a GitHub Contribution can be very small, that does not matter. We even love to receive a typo fix PR. Adding feature or fixing a bug is not the only way to contribute. You can send us PR for adding documentation, fixing typos or adding tests.