|
1 | 1 | # Contributing to Keploy
|
2 | 2 |
|
3 |
| -Thank you for your interest in Keploy and for taking the time to contribute to this project. 🙌 |
4 |
| -Keploy is a project by developers for developers and there are a lot of ways you can contribute. |
| 3 | +Thank you for your interest in Keploy and for taking the time to contribute to this project. 🙌 Keploy is a project by developers for developers and there are a lot of ways you can contribute. |
| 4 | + |
5 | 5 | If you don't know where to start contributing, ask us on our [Slack channel](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA).
|
6 | 6 |
|
7 | 7 | ## Code of conduct
|
8 | 8 |
|
9 |
| -Read our [Code of Conduct](CODE_OF_CONDUCT.md) before contributing |
| 9 | +Contributors are expected to adhere to the [Code of Conduct](CODE_OF_CONDUCT.md). |
| 10 | + |
| 11 | +## Prerequisites for the contributors |
| 12 | + |
| 13 | +Contributors should have knowledge of git, go, and markdown for most projects since the project work heavily depends on them. |
| 14 | +We encourage Contributors to set up Keploy for local development and play around with the code and tests to get more comfortable with the project. |
| 15 | + |
| 16 | +Sections |
| 17 | + |
| 18 | +- <a name="contributing"> General Contribution Flow</a> |
| 19 | + - <a name="#commit-signing">Developer Certificate of Origin</a> |
| 20 | +- <a name="contributing-keploy">Keploy Contribution Flow</a> |
| 21 | + - <a name="keploy-server">Keploy Server</a> |
| 22 | + - <a name="keploy-docs">Keploy Documentation</a> |
| 23 | + - <a name="keploy-sdks">Keploy SDK Integration</a> |
| 24 | + |
| 25 | +# <a name="contributing">General Contribution Flow</a> |
| 26 | + |
| 27 | +## <a name="commit-signing">Signing-off on Commits (Developer Certificate of Origin)</a> |
| 28 | + |
| 29 | +To contribute to this project, you must agree to the Developer Certificate of |
| 30 | +Origin (DCO) for each commit you make. The DCO is a simple statement that you, |
| 31 | +as a contributor, have the legal right to make the contribution. |
| 32 | + |
| 33 | +See the [DCO](https://developercertificate.org) file for the full text of what you must agree to |
| 34 | +and how it works [here](https://github.com/probot/dco#how-it-works). |
| 35 | +To signify that you agree to the DCO for contributions, you simply add a line to each of your |
| 36 | +git commit messages: |
| 37 | + |
| 38 | +``` |
| 39 | +Signed-off-by: Jane Smith <[email protected]> |
| 40 | +``` |
| 41 | + |
| 42 | +In most cases, you can add this signoff to your commit automatically with the |
| 43 | +`-s` or `--signoff` flag to `git commit`. You must use your real name and a reachable email |
| 44 | +address (sorry, no pseudonyms or anonymous contributions). An example of signing off on a commit: |
| 45 | + |
| 46 | +``` |
| 47 | +$ commit -s -m “my commit message w/signoff” |
| 48 | +``` |
| 49 | + |
| 50 | +To ensure all your commits are signed, you may choose to add this alias to your global `.gitconfig`: |
| 51 | + |
| 52 | +_~/.gitconfig_ |
10 | 53 |
|
11 |
| -## How can I contribute? |
| 54 | +``` |
| 55 | +[alias] |
| 56 | + amend = commit -s --amend |
| 57 | + cm = commit -s -m |
| 58 | + commit = commit -s |
| 59 | +``` |
| 60 | + |
| 61 | +## <a name="contributing-keploy">Keploy Contribution Flow</a> |
| 62 | + |
| 63 | +Keploy is written in `Go` (Golang) and leverages Go Modules. Relevant coding style guidelines are the [Go Code Review Comments](https://code.google.com/p/go-wiki/wiki/CodeReviewComments) and the _Formatting and style_ section of Peter Bourgon's [Go: Best |
| 64 | +Practices for Production Environments](https://peter.bourgon.org/go-in-production/#formatting-and-style). |
12 | 65 |
|
13 | 66 | There are many ways in which you can contribute to Keploy.
|
14 | 67 |
|
15 |
| -#### 🐛 Report a bug |
| 68 | +### <a name="keploy-server">Keploy Server</a> |
| 69 | + |
| 70 | +#### Report a Bug |
16 | 71 | Report all issues through GitHub Issues using the [Report a Bug](https://github.com/keploy/keploy/issues/new?assignees=&labels=&template=bug_report.md&title=) template.
|
17 | 72 | To help resolve your issue as quickly as possible, read the template and provide all the requested information.
|
18 | 73 |
|
19 |
| -#### 🛠 File a feature request |
| 74 | +#### Feature request |
20 | 75 | We welcome all feature requests, whether it's to add new functionality to an existing extension or to offer an idea for a brand new extension.
|
21 | 76 | File your feature request through GitHub Issues using the [Feature Request](https://github.com/keploy/keploy/issues/new?assignees=&labels=&template=feature_request.md&title=) template.
|
22 | 77 |
|
23 |
| -#### 📝 Improve the documentation |
24 |
| -In the process of shipping features quickly, we may forget to keep our docs up to date. You can help by suggesting improvements to our documentation using the [Documentation Improvement](https://github.com/keploy/docs/issues) template! |
| 78 | +#### Close a Bug |
| 79 | +We welcome contributions that help make keploy bug free & improve the experience of our users. You can also find issues tagged [Good First Issues](https://github.com/keploy/keploy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). |
| 80 | + |
| 81 | +### <a name="keploy-docs">Keploy Documentation</a> |
| 82 | + |
| 83 | +The Keploy documentation site uses Docusaurus 2, which is a static website generator, you can make changes locally without previewing them in the browser. |
| 84 | + |
| 85 | +In the process of shipping features quickly, we may forget to keep our docs up to date. You can help by suggesting improvements to our documentation using the [Documentation Improvement](https://github.com/keploy/docs/issues) template. |
| 86 | + |
| 87 | +Please refer to [Keploy Docs Contributing Guide](https://github.com/keploy/docs/blob/main/CONTRIBUTING.md#-how-to-set-up-the-docs-website-locally) for setting up your development environment and the follow [Keploy Style Guide](https://github.com/keploy/docs/blob/main/STYLE.md). |
| 88 | + |
| 89 | +### <a name="keploy-sdks">Keploy SDKs</a> |
| 90 | + |
| 91 | +Keploy provides stable support for ``Go``, ``Java`` and ``Ts`` language based applications. |
| 92 | + |
| 93 | +- [x] [Go SDK](https://github.com/keploy/go-sdk) |
| 94 | +- [x] [Java SDK](https://github.com/keploy/java-sdk) |
| 95 | +- [x] [TypeScript SDK](https://github.com/keploy/typescript-sdk) |
| 96 | + |
| 97 | +Every SDKs support the popular and common Routers and Databases. |
| 98 | + |
| 99 | + |
| 100 | +# Contact |
25 | 101 |
|
26 |
| -#### ⚙️ Close a Bug / Feature issue |
27 |
| -We welcome contributions that help make keploy bug free & improve the experience of our users. You can also find issues tagged [Good First Issues](https://github.com/keploy/keploy/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). |
| 102 | +Feel free to join [slack](https://join.slack.com/t/keploy/shared_invite/zt-12rfbvc01-o54cOG0X1G6eVJTuI_orSA) to start a conversation with us. |
0 commit comments