A repository that contains RFCs, guides and templates for your project.
Tip: If you are hosting this for your own project:
- Rename the this repository to
my-project-rfcs
.- Make sure you modified
README.md
, delete this section also.- Adjust default templates or make your own.
- There's no single way to do RFC so apply what works for you.
rfcs
- this is where all RFCs are locatedtemplates
- this contains all the templates
- Status:
Proposed
/Accepted
/Implemented
/Obsolete
- RFC# - Unique identifier for RFC (Initial value is '0000', updated when
status:Accepted
) - Author - Person who created the RFC. Separate by comma when there are multiple authors.
- Created - When the RFC was initialized
- Implementation - Link to a pull request of implementation (empty while still
status:Proposed
)
An abstract or high level summary of the proposal. Keep it simple, short and sweet.
This contains the problem and what are you trying to accomplish. You may include goals and non-goals to make sure everyone is on the same page. You may add the impact of the changes when implemented.
This is the driving force to the proposal. Sometimes it's because of a problem or inspiration. If it's a problem, then why should you solve it in the first place? back it with data when necessary. If it's an inspiration, why it is worth doing?.
Explain here the proposal in details. How things will work and looks? What changes you want to happen? Show with examples.
You should specify the disadvantages associated with the proposal. This is important to understand the tradeoffs and consequences. Be honest.
State here the other viable options. It can be something you come up with or existing external solutions.
- Fork this repo.
- Create a file in inside
rfcs
with filename formatted like0000-my-rfc-title.md
. - Submit a pull request per RFC.
This repo is inspired by Rust-RFCs, Tensorflow-RFCs