You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+66-51Lines changed: 66 additions & 51 deletions
Original file line number
Diff line number
Diff line change
@@ -15,9 +15,10 @@ The rest of this document outlines the best practices for contributing to this
15
15
repository:
16
16
17
17
-[Decision Making](#decision-making) - process for agreeing to changes
18
+
-[Issues](#issues) - what makes a good issue
19
+
-[Pull Requests](#pull-requests) - what makes a good pull request
18
20
-[Forking](#forking) - fork the repo to make pull requests
19
21
-[Changelog](#changelog) - changes must be recorded in the changelog
20
-
-[Pull Requests](#pull-requests) - what makes a good pull request
21
22
-[Releases](#releases) - how to release new version of the crates
22
23
23
24
## Decision Making
@@ -60,9 +61,67 @@ that PRs will sit open for long periods of time.
60
61
61
62
Each stage of the process is aimed at creating feedback cycles which align
62
63
contributors and maintainers in order to ensure that:
64
+
63
65
- Contributors don’t waste their time implementing/proposing features which won’t land in `main`
64
66
- Maintainers have the necessary context in order to support and review contributions
65
67
68
+
## Issues
69
+
70
+
We welcome bug reports, feature requests, and other contributions to our project. To open an issue, please follow these guidelines:
71
+
72
+
1.**Search existing issues**: Before opening a new issue, please search existing issues to ensure that is not a duplicates.
73
+
74
+
2.**Provide a clear and descriptive title**: This helps others understand the nature of the issue at a glance.
75
+
76
+
3.**Provide detailed information**: In the issue description, clearly state the purpose of the issue and follow the guidelines of the issue template
77
+
78
+
4. A maintainer will take care of assigning the appropriate labels to your issue.
79
+
80
+
We use the following convention for issue label names:
81
+
- (WHY) The purpose or objective of this issue with Objective-level "O" labels like `O: security`, `O: new-feature`, etc.
82
+
- (WHICH) The part of the system this issue relates to using:
83
+
- External-level "E" labels if the issue fall outside the current scope of the system and is related to external dependencies or projects like `E: non-cosmos`, `E: no-std` etc.
84
+
- or "Internal-level "I" labels for anything related to the current scope of the product like `I: errors`, `I: documentation`, etc.
85
+
- (HOW) If any administrative considerations should be taken into account use Administrative-level "A" labels like `A: help-wanted`, `A: critical`, etc.
86
+
87
+
## Pull Requests
88
+
89
+
If you have write access to the ibc-rs repo, you can directly branch off of `main`.
90
+
This makes it easier for project maintainers to directly make changes to your
91
+
branch should the need arise. Otherwise, check [Forking](#forking) section for instructions.
92
+
93
+
Branch names should be prefixed with the author's name followed by a short description
94
+
of the feature, eg. `name/feature-x`.
95
+
96
+
Pull requests are made against `main` and are squash-merged into main.
97
+
98
+
**PRs must:**
99
+
100
+
- make reference to an issue outlining the context
101
+
- update any relevant documentation and include tests
102
+
- add a corresponding entry in the `.changelog` directory using `unclog`,
103
+
see the [Changelog](#changelog) section for more details.
104
+
105
+
Pull requests should aim to be small and self-contained to facilitate quick
106
+
review and merging. Larger change sets should be broken up across multiple PRs.
107
+
Commits should be concise but informative, and moderately clean. Commits will be squashed into a
108
+
single commit for the PR with all the commit messages.
109
+
110
+
If the issue you worked on was tagged `A: low-priority`, we'll do our best to
111
+
review it in a timely manner, but please expect longer wait times for a review
112
+
in general. If a low priority issue is important to you, please leave a comment
113
+
explaining why, and we will reprioritize it!
114
+
115
+
## Responsibilities of a PR Reviewer
116
+
117
+
If you're tagged as the reviewer of a PR, you are responsible for shepherding it
118
+
through to completion. This includes fixing issues with the PR and taking the
119
+
lead on decisions that need to be resolved in order to get the PR merged.
120
+
121
+
If you're tagged as a reviewer on a PR that affects a part of the code base that
122
+
you are unfamiliar with, you can hand it off to someone (with their
123
+
consent) who is more appropriate to shepherd the PR through to completion.
124
+
66
125
## Forking
67
126
68
127
If you do not have write access to the repository, your contribution should be
@@ -72,10 +131,11 @@ make a pull request back upstream.
72
131
73
132
When forking, add your fork's URL as a new git remote in your local copy of the
74
133
repo. For instance, to create a fork and work on a branch of it:
134
+
75
135
- Create the fork on GitHub, using the fork button.
76
136
-`cd` to the original clone of the repo on your machine
0 commit comments