Skip to content

Commit a112f9a

Browse files
committed
📝 add contribution guidelines.
1 parent d46d9d8 commit a112f9a

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

CONTRIBUTING.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Contributing to json-rpc
2+
3+
:+1::tada: First off all, thanks for taking the time to contribute! :tada::+1:
4+
5+
The following is a set of guidelines for contributing to [json-rpc](https://github.com/pavlov99/json-rpc), which is hosted on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
6+
7+
#### Table Of Contents
8+
9+
[Code of Conduct](#code-of-conduct)
10+
11+
[I don't want to read this whole thing, I just have a question!!!](#i-dont-want-to-read-this-whole-thing-i-just-have-a-question)
12+
13+
[How Can I Contribute?](#how-can-i-contribute)
14+
* [Reporting Bugs](#reporting-bugs)
15+
* [Suggesting Enhancements](#suggesting-enhancements)
16+
* [Pull Requests](#pull-requests)
17+
18+
[Styleguides](#styleguides)
19+
* [Git Commit Messages](#git-commit-messages)
20+
21+
## Code of Conduct
22+
23+
This project and everyone participating in it is governed by the [json-rpc Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [json-rpc@p99.io](mailto:json-rpc@p99.io).
24+
25+
## I don't want to read this whole thing I just have a question!!!
26+
27+
> **Note:** Please don't file an issue to ask a question. You'll get faster results by using the resources below.
28+
29+
We have a message board [Gitter](https://gitter.im/pavlov99/json-rpc) where the community chimes in with helpful advice if you have questions.
30+
31+
## How Can I Contribute?
32+
33+
### Reporting Bugs
34+
35+
This section guides you through submitting a bug report for json-rpc. Following these guidelines helps maintainers and the community understand your report :pencil:, reproduce the behavior :computer: :computer:, and find related reports :mag_right:.
36+
37+
When you are creating a bug report, please [include as many details as possible](#how-do-i-submit-a-good-bug-report). Fill out [the required template](ISSUE_TEMPLATE.md), the information it asks for helps us resolve issues faster.
38+
39+
> **Note:** If you find a **Closed** issue that seems like it is the same thing that you're experiencing, open a new issue and include a link to the original issue in the body of your new one.
40+
41+
#### How Do I Submit A (Good) Bug Report?
42+
43+
Bugs are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue on that repository and provide the following information by filling in [the template](ISSUE_TEMPLATE.md). Add a label 'bug' to the issue.
44+
45+
Explain the problem and include additional details to help maintainers reproduce the problem:
46+
47+
* **Use a clear and descriptive title** for the issue to identify the problem.
48+
* **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by explaining how you used json-rpc, e.g. which command exactly you used, which framework if aplicable. When listing steps, **don't just say what you did, but explain how you did it**.
49+
* **Provide specific examples to demonstrate the steps**. Include links to files or GitHub projects, or copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines).
50+
* **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
51+
* **Explain which behavior you expected to see instead and why.**
52+
* **Include screenshots and animated GIFs** which show you following the described steps and clearly demonstrate the problem. You can use [this tool](http://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux.
53+
* **If the problem wasn't triggered by a specific action**, describe what you were doing before the problem happened and share more information using the guidelines below.
54+
55+
### Suggesting Enhancements
56+
57+
This section guides you through submitting an enhancement suggestion for json-rpc, including completely new features and minor improvements to existing functionality. Following these guidelines helps maintainers and the community understand your suggestion :pencil: and find related suggestions :mag_right:.
58+
59+
When you are creating an enhancement suggestion, please [include as many details as possible](#how-do-i-submit-a-good-enhancement-suggestion). Fill in [the template](ISSUE_TEMPLATE.md), including the steps that you imagine you would take if the feature you're requesting existed.
60+
61+
#### How Do I Submit A (Good) Enhancement Suggestion?
62+
63+
Enhancement suggestions are tracked as [GitHub issues](https://guides.github.com/features/issues/). Create an issue and provide the following information:
64+
65+
* **Use a clear and descriptive title** for the issue to identify the suggestion.
66+
* **Provide a step-by-step description of the suggested enhancement** in as many details as possible.
67+
* **Provide specific examples to demonstrate the steps**. Include copy/pasteable snippets which you use in those examples, as [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines).
68+
* **Describe the current behavior** and **explain which behavior you expected to see instead** and why.
69+
* **Include screenshots and animated GIFs** which help you demonstrate the steps. You can use [this tool](http://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux.
70+
71+
### Pull Requests
72+
73+
* Fill in [the required template](PULL_REQUEST_TEMPLATE.md)
74+
* Do not include issue numbers in the PR title
75+
* Include screenshots and animated GIFs in your pull request whenever possible.
76+
* Document your code with [Napoleon style](https://sphinxcontrib-napoleon.readthedocs.io/en/latest/) docstrings.
77+
* Add tests and ensure test regression. Pull request would not be accepted if it breaks the build.
78+
* End all files with a newline
79+
* Squash commits to logical units. If you fix commit "A" with commit "B", squash them into one and open pull request again.
80+
* Add you name to the end of [AUTHORS](AUTHORS) list. It approximately follows chronological order.
81+
* Make sure you use the same email for your commits.
82+
83+
## Styleguides
84+
85+
### Git Commit Messages
86+
87+
* Use the present tense ("Add feature" not "Added feature")
88+
* Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
89+
* Limit the first line to 72 characters or less
90+
* Reference issues and pull requests liberally after the first line
91+
* Consider starting the commit message with an applicable emoji:
92+
* :art: `:art:` when improving the format/structure of the code
93+
* :racehorse: `:racehorse:` when improving performance
94+
* :non-potable_water: `:non-potable_water:` when plugging memory leaks
95+
* :memo: `:memo:` when writing docs
96+
* :bug: `:bug:` when fixing a bug
97+
* :fire: `:fire:` when removing code or files
98+
* :green_heart: `:green_heart:` when fixing the CI build
99+
* :white_check_mark: `:white_check_mark:` when adding tests
100+
* :lock: `:lock:` when dealing with security
101+
* :shirt: `:shirt:` when removing linter warnings

0 commit comments

Comments
 (0)