Skip to content
Prev Previous commit
Next Next commit
docs: add RFC_TEMPLATE.md
  • Loading branch information
woutervroege committed Dec 18, 2025
commit 84094b704a6cbb0711e5270556783b5d7fd7cd7f
109 changes: 109 additions & 0 deletions .github/RFC_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,109 @@
# RFC Template

- **Status**: Idea | Draft | Accepted | Rejected | Revision Requested
- **Author(s)**: <name / handle>
- **Champion**:
- **Created**:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

created and last updated can be viewed in git, maybe remove this (or at least "last updated")

- **Last Updated**:
- **Related**:

---

## 1) Summary (2–5 sentences)

What is being proposed and why? Keep this understandable to non-specialists.

---

## 2) Problem & Motivation

- What problem are we solving?
- Who is affected?

---

## 3) Goals & Non-Goals

### Goals

What outcomes should this RFC achieve?

- …
- …

### Non-Goals

What is explicitly out of scope for this RFC?

- …
- …

---

## 4) Proposed Approach (High-level)

Describe the proposed approach at a level suitable for review:

- Key idea(s)
- Expected behavior changes (if any)
- Any public API changes (if any)

---

## 5) Trade-offs & Alternatives

### Trade-offs

What are the downsides or costs of the proposed approach?

### Alternatives

What alternative approaches were considered, and why were they not chosen?

---

## 6) Impact

### Compatibility

Are there breaking changes? Is migration required?

### Performance

Any expected performance impact?

### Security / Privacy

Any security or privacy implications?

### Maintenance

Expected long-term maintenance cost or complexity.

---

## 7) Open Questions

- …
- …

---

## (Optional) Implementation Notes

Only include if it helps reviewers:

- rollout/migration sketch
- testing strategy
- rough milestones

---

## Decision (TSC)

Filled in by the TSC when decided.

- **Decision**: Accepted | Rejected | Revision Requested
- **Rationale**:
- **Date**:
- **Recorded by**: