RFC Process
This repository is used to propose, discuss, and document significant changes or new features across projects within Stratorys.
Why Use the RFC Process?
The RFC (Request for Comments) process is a well-established method for introducing significant changes or new features in a structured and transparent manner. It encourages thorough discussion and feedback from all stakeholders before implementation begins. By using RFCs, we ensure that:
- Clarity: All aspects of a proposal, including its design, rationale, and potential impacts, are clearly documented.
- Collaboration: Multiple stakeholders can contribute to and review the proposal, ensuring that different perspectives are considered.
- Historical Record: Decisions and their rationale are recorded, providing a valuable reference for future decisions.
This process helps us maintain a high standard of quality and alignment across teams, ensuring that any changes are well-considered and agreed upon before work begins.
Summary of the Repository Structure
This repository is organized by projects, each containing its own set of RFCs. The src directory includes the following:
SUMMARY.md: The table of contents for all RFCs, generated automatically.- Project Directories: Each project has its own directory under
src/, containing RFCs and an optionalREADME.mdfor project-specific information.
Example Structure
src/
├── SUMMARY.md
├── project-a/
│ ├── 0001-initial-rfc.md
│ ├── 0002-another-feature.md
│ └── README.md
├── project-b/
│ ├── 0001-feature-1.md
│ └── README.md
How to Create a New RFC
To create a new RFC, follow these steps:
- Copy the RFC template (0000-template.md) to the
src/<project-name>/directory and rename it using the following format:####-rfc-title.md(where####is the next available RFC number). - Fill out each section of the template with the relevant details for your proposal.
- Run
python3 generate-summary.pyto automatically update the SUMMARY.md file and include your new RFC in the book. - Submit a pull request for review.