Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: add adr/rfc section to contributing #15385

Merged
merged 13 commits into from
Mar 21, 2023
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
* [Pull Request Templates](#pull-request-templates)
* [Requesting Reviews](#requesting-reviews)
* [Updating Documentation](#updating-documentation)
* [RFC & ADR](#RFC & ADR)
* [Dependencies](#dependencies)
* [`go.work`](#gowork)
* [`go.mod`](#gomod)
Expand Down Expand Up @@ -163,6 +164,20 @@ If you open a PR on the Cosmos SDK, it is mandatory to update the relevant docum

When writing documentation, follow the [Documentation Writing Guidelines](./docs/DOC_WRITING_GUIDELINES.md).

### RFC & ADR

Within the Cosmos SDK we have two forms of documenting descisions, Request For Comment (RFC) & Architecture Design Record (ADR). They perform two different functions. To better illustrate when an RFC or ADR should be written please refer to this diagram.
likhita-809 marked this conversation as resolved.
Show resolved Hide resolved

![Contributing flow](./docs/static/img/contributing.png)

#### RFC

An RFC is written when there is an ongoing conversation on a specific item and it needs to be captured within the repository for future contributors and if the design of how to implement something is not yet clear. When a design or code change is not clear to many, an RFC should be written to come to consensus on what changes are being proposed. Through this process and potentially a proof of concept the design will come and can be captured in an ADR.

#### ADR

An ADR is meant to capture how something will be implemented. This is specific to how the proposed change will be incorporated into the software. At this point the author has a good understanding of the proposed changes and is proposing specific changes to the software to move towards the end goal of implementing the changes.

## Dependencies

We use [Go Modules](https://github.com/golang/go/wiki/Modules) to manage
Expand Down
Binary file added docs/static/img/contributing.png
tac0turtle marked this conversation as resolved.
Show resolved Hide resolved
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.