|
| 1 | +<!-- AUTO-GENERATED, DO NOT EDIT! --> |
| 2 | +<!-- Please edit the original at https://github.com/ory/meta/blob/master/templates/repository/common/CONTRIBUTING.md --> |
| 3 | + |
| 4 | +# Contribute to Ory client-java<!-- omit in toc --> |
| 5 | + |
| 6 | +<!-- START doctoc generated TOC please keep comment here to allow auto update --> |
| 7 | +<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE --> |
| 8 | + |
| 9 | +- [Introduction](#introduction) |
| 10 | +- [FAQ](#faq) |
| 11 | +- [How can I contribute?](#how-can-i-contribute) |
| 12 | +- [Communication](#communication) |
| 13 | +- [Contribute examples or community projects](#contribute-examples-or-community-projects) |
| 14 | +- [Contribute code](#contribute-code) |
| 15 | +- [Contribute documentation](#contribute-documentation) |
| 16 | +- [Disclosing vulnerabilities](#disclosing-vulnerabilities) |
| 17 | +- [Code style](#code-style) |
| 18 | + - [Working with forks](#working-with-forks) |
| 19 | +- [Conduct](#conduct) |
| 20 | + |
| 21 | +<!-- END doctoc generated TOC please keep comment here to allow auto update --> |
| 22 | + |
| 23 | +## Introduction |
| 24 | + |
| 25 | +_Please note_: We take Ory client-java's security and our users' trust very |
| 26 | +seriously. If you believe you have found a security issue in Ory client-java, |
| 27 | +please disclose it by contacting us at [email protected]. |
| 28 | + |
| 29 | +There are many ways in which you can contribute. The goal of this document is to |
| 30 | +provide a high-level overview of how you can get involved in Ory. |
| 31 | + |
| 32 | +As a potential contributor, your changes and ideas are welcome at any hour of |
| 33 | +the day or night, on weekdays, weekends, and holidays. Please do not ever |
| 34 | +hesitate to ask a question or send a pull request. |
| 35 | + |
| 36 | +If you are unsure, just ask or submit the issue or pull request anyways. You |
| 37 | +won't be yelled at for giving it your best effort. The worst that can happen is |
| 38 | +that you'll be politely asked to change something. We appreciate any sort of |
| 39 | +contributions and don't want a wall of rules to get in the way of that. |
| 40 | + |
| 41 | +That said, if you want to ensure that a pull request is likely to be merged, |
| 42 | +talk to us! You can find out our thoughts and ensure that your contribution |
| 43 | +won't clash with Ory |
| 44 | +client-java's direction. A great way to |
| 45 | +do this is via |
| 46 | +[Ory client-java Discussions](https://github.com/orgs/ory/discussions) |
| 47 | +or the [Ory Chat](https://www.ory.sh/chat). |
| 48 | + |
| 49 | +## FAQ |
| 50 | + |
| 51 | +- I am new to the community. Where can I find the |
| 52 | + [Ory Community Code of Conduct?](https://github.com/ory/client-java/blob/master/CODE_OF_CONDUCT.md) |
| 53 | + |
| 54 | +- I have a question. Where can I get |
| 55 | + [answers to questions regarding Ory client-java?](#communication) |
| 56 | + |
| 57 | +- I would like to contribute but I am not sure how. Are there |
| 58 | + [easy ways to contribute?](#how-can-i-contribute) |
| 59 | + [Or good first issues?](https://github.com/search?l=&o=desc&q=label%3A%22help+wanted%22+label%3A%22good+first+issue%22+is%3Aopen+user%3Aory+user%3Aory-corp&s=updated&type=Issues) |
| 60 | + |
| 61 | +- I want to talk to other Ory client-java users. |
| 62 | + [How can I become a part of the community?](#communication) |
| 63 | + |
| 64 | +- I would like to know what I am agreeing to when I contribute to Ory |
| 65 | + client-java. |
| 66 | + Does Ory have |
| 67 | + [a Contributors License Agreement?](https://cla-assistant.io/ory/client-java) |
| 68 | + |
| 69 | +- I would like updates about new versions of Ory client-java. |
| 70 | + [How are new releases announced?](https://www.ory.sh/l/sign-up-newsletter) |
| 71 | + |
| 72 | +## How can I contribute? |
| 73 | + |
| 74 | +If you want to start to contribute code right away, take a look at the |
| 75 | +[list of good first issues](https://github.com/ory/client-java/labels/good%20first%20issue). |
| 76 | + |
| 77 | +There are many other ways you can contribute. Here are a few things you can do |
| 78 | +to help out: |
| 79 | + |
| 80 | +- **Give us a star.** It may not seem like much, but it really makes a |
| 81 | + difference. This is something that everyone can do to help out Ory client-java. |
| 82 | + Github stars help the project gain visibility and stand out. |
| 83 | + |
| 84 | +- **Join the community.** Sometimes helping people can be as easy as listening |
| 85 | + to their problems and offering a different perspective. Join our Slack, have a |
| 86 | + look at discussions in the forum and take part in community events. More info |
| 87 | + on this in [Communication](#communication). |
| 88 | + |
| 89 | +- **Answer discussions.** At all times, there are several unanswered discussions |
| 90 | + on GitHub. You can see an |
| 91 | + [overview here](https://github.com/discussions?discussions_q=is%3Aunanswered+org%3Aory+sort%3Aupdated-desc). |
| 92 | + If you think you know an answer or can provide some information that might |
| 93 | + help, please share it! Bonus: You get GitHub achievements for answered |
| 94 | + discussions. |
| 95 | + |
| 96 | +- **Help with open issues.** We have a lot of open issues for Ory client-java and |
| 97 | + some of them may lack necessary information, some are duplicates of older |
| 98 | + issues. You can help out by guiding people through the process of filling out |
| 99 | + the issue template, asking for clarifying information or pointing them to |
| 100 | + existing issues that match their description of the problem. |
| 101 | + |
| 102 | +- **Review documentation changes.** Most documentation just needs a review for |
| 103 | + proper spelling and grammar. If you think a document can be improved in any |
| 104 | + way, feel free to hit the `edit` button at the top of the page. More info on |
| 105 | + contributing to the documentation [here](#contribute-documentation). |
| 106 | + |
| 107 | +- **Help with tests.** Pull requests may lack proper tests or test plans. These |
| 108 | + are needed for the change to be implemented safely. |
| 109 | + |
| 110 | +## Communication |
| 111 | + |
| 112 | +We use [Slack](https://www.ory.sh/chat). You are welcome to drop in and ask |
| 113 | +questions, discuss bugs and feature requests, talk to other users of Ory, etc. |
| 114 | + |
| 115 | +Check out [Ory client-java Discussions](https://github.com/orgs/ory/discussions). This is a great place for |
| 116 | +in-depth discussions and lots of code examples, logs and similar data. |
| 117 | + |
| 118 | +You can also join our community calls if you want to speak to the Ory team |
| 119 | +directly or ask some questions. You can find more info and participate in |
| 120 | +[Slack](https://www.ory.sh/chat) in the #community-call channel. |
| 121 | + |
| 122 | +If you want to receive regular notifications about updates to Ory client-java, |
| 123 | +consider joining the mailing list. We will _only_ send you vital information on |
| 124 | +the projects that you are interested in. |
| 125 | + |
| 126 | +Also, [follow us on Twitter](https://twitter.com/orycorp). |
| 127 | + |
| 128 | +## Contribute examples or community projects |
| 129 | + |
| 130 | +One of the most impactful ways to contribute is by adding code examples or other |
| 131 | +Ory-related code. You can find an overview of community code in the |
| 132 | +[awesome-ory](https://github.com/ory/awesome-ory) repository. |
| 133 | + |
| 134 | +_If you would like to contribute a new example, we would love to hear from you!_ |
| 135 | + |
| 136 | +Please [open a pull request at awesome-ory](https://github.com/ory/awesome-ory/) |
| 137 | +to add your example or Ory-related project to the awesome-ory README. |
| 138 | + |
| 139 | +## Contribute code |
| 140 | + |
| 141 | +Unless you are fixing a known bug, we **strongly** recommend discussing it with |
| 142 | +the core team via a GitHub issue or [in our chat](https://www.ory.sh/chat) |
| 143 | +before getting started to ensure your work is consistent with Ory client-java's |
| 144 | +roadmap and architecture. |
| 145 | + |
| 146 | +All contributions are made via pull requests. To make a pull request, you will |
| 147 | +need a GitHub account; if you are unclear on this process, see GitHub's |
| 148 | +documentation on [forking](https://help.github.com/articles/fork-a-repo) and |
| 149 | +[pull requests](https://help.github.com/articles/using-pull-requests). Pull |
| 150 | +requests should be targeted at the `master` branch. Before creating a pull |
| 151 | +request, go through this checklist: |
| 152 | + |
| 153 | +1. Create a feature branch off of `master` so that changes do not get mixed up. |
| 154 | +1. [Rebase](http://git-scm.com/book/en/Git-Branching-Rebasing) your local |
| 155 | + changes against the `master` branch. |
| 156 | +1. Run the full project test suite with the `go test -tags sqlite ./...` (or |
| 157 | + equivalent) command and confirm that it passes. |
| 158 | +1. Run `make format` |
| 159 | +1. Add a descriptive prefix to commits. This ensures a uniform commit history |
| 160 | + and helps structure the changelog. Please refer to this |
| 161 | + [Convential Commits configuration](https://github.com/ory/client-java/blob/master/.github/workflows/conventional_commits.yml) |
| 162 | + for the list of accepted prefixes. You can read more about the Conventional |
| 163 | + Commit specification |
| 164 | + [at their site](https://www.conventionalcommits.org/en/v1.0.0/). |
| 165 | + |
| 166 | +If a pull request is not ready to be reviewed yet |
| 167 | +[it should be marked as a "Draft"](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/changing-the-stage-of-a-pull-request). |
| 168 | + |
| 169 | +Before your contributions can be reviewed you need to sign our |
| 170 | +[Contributor License Agreement](https://cla-assistant.io/ory/client-java). |
| 171 | + |
| 172 | +This agreement defines the terms under which your code is contributed to Ory. |
| 173 | +More specifically it declares that you have the right to, and actually do, grant |
| 174 | +us the rights to use your contribution. You can see the Apache 2.0 license under |
| 175 | +which our projects are published |
| 176 | +[here](https://github.com/ory/meta/blob/master/LICENSE). |
| 177 | + |
| 178 | +When pull requests fail the automated testing stages (for example unit or E2E |
| 179 | +tests), authors are expected to update their pull requests to address the |
| 180 | +failures until the tests pass. |
| 181 | + |
| 182 | +Pull requests eligible for review |
| 183 | + |
| 184 | +1. follow the repository's code formatting conventions; |
| 185 | +2. include tests that prove that the change works as intended and does not add |
| 186 | + regressions; |
| 187 | +3. document the changes in the code and/or the project's documentation; |
| 188 | +4. pass the CI pipeline; |
| 189 | +5. have signed our |
| 190 | + [Contributor License Agreement](https://cla-assistant.io/ory/client-java); |
| 191 | +6. include a proper git commit message following the |
| 192 | + [Conventional Commit Specification](https://www.conventionalcommits.org/en/v1.0.0/). |
| 193 | + |
| 194 | +If all of these items are checked, the pull request is ready to be reviewed and |
| 195 | +you should change the status to "Ready for review" and |
| 196 | +[request review from a maintainer](https://docs.github.com/en/github/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review). |
| 197 | + |
| 198 | +Reviewers will approve the pull request once they are satisfied with the patch. |
| 199 | + |
| 200 | +## Contribute documentation |
| 201 | + |
| 202 | +Please provide documentation when changing, removing, or adding features. All |
| 203 | +Ory Documentation resides in the |
| 204 | +[Ory documentation repository](https://github.com/ory/docs/). For further |
| 205 | +instructions please head over to the Ory Documentation |
| 206 | +[README.md](https://github.com/ory/docs/blob/master/README.md). |
| 207 | + |
| 208 | +## Disclosing vulnerabilities |
| 209 | + |
| 210 | +Please disclose vulnerabilities exclusively to |
| 211 | +[[email protected]](mailto:[email protected]). Do not use GitHub issues. |
| 212 | + |
| 213 | +## Code style |
| 214 | + |
| 215 | +Please run `make format` to format all source code following the Ory standard. |
| 216 | + |
| 217 | +### Working with forks |
| 218 | + |
| 219 | +```bash |
| 220 | +# First you clone the original repository |
| 221 | +git clone [email protected]:ory/ory/client-java.git |
| 222 | + |
| 223 | +# Next you add a git remote that is your fork: |
| 224 | +git remote add fork [email protected]: <YOUR-GITHUB-USERNAME-HERE >/ory/client-java.git |
| 225 | + |
| 226 | +# Next you fetch the latest changes from origin for master: |
| 227 | +git fetch origin |
| 228 | +git checkout master |
| 229 | +git pull --rebase |
| 230 | + |
| 231 | +# Next you create a new feature branch off of master: |
| 232 | +git checkout my-feature-branch |
| 233 | + |
| 234 | +# Now you do your work and commit your changes: |
| 235 | +git add -A |
| 236 | +git commit -a -m "fix: this is the subject line" -m "This is the body line. Closes #123" |
| 237 | + |
| 238 | +# And the last step is pushing this to your fork |
| 239 | +git push -u fork my-feature-branch |
| 240 | +``` |
| 241 | + |
| 242 | +Now go to the project's GitHub Pull Request page and click "New pull request" |
| 243 | + |
| 244 | +## Conduct |
| 245 | + |
| 246 | +Whether you are a regular contributor or a newcomer, we care about making this |
| 247 | +community a safe place for you and we've got your back. |
| 248 | + |
| 249 | +[Ory Community Code of Conduct](https://github.com/ory/client-java/blob/master/CODE_OF_CONDUCT.md) |
| 250 | + |
| 251 | +We welcome discussion about creating a welcoming, safe, and productive |
| 252 | +environment for the community. If you have any questions, feedback, or concerns |
| 253 | +[please let us know](https://www.ory.sh/chat). |
0 commit comments