Skip to content

Latest commit

 

History

History
142 lines (100 loc) · 3.63 KB

File metadata and controls

142 lines (100 loc) · 3.63 KB

RFC NNNN: Title

Status: Draft Author: Your Name Created: YYYY-MM-DD PR: #XXX

Summary

[Provide a brief overview of the RFC. This should be 1-2 paragraphs that explain the goal of the RFC without going into deep technical details. The summary should be clear enough that someone unfamiliar with the project can understand what is being proposed.]

Background

[Provide at least two paragraphs of background information. This section should give complete context for why this change is necessary. Include links to any prior discussions, related RFCs, or issues. The goal is to help newcomers understand the complete context without having to search through multiple documents.]

[Include information about:

  • The current state of the system
  • Problems or limitations with the current approach
  • User feedback or requests that motivated this RFC
  • Any previous attempts to solve this problem]

Proposal

[Provide an overview of your proposed solution. This should be a high-level explanation of "how" you plan to solve the problem described in the background. Keep this section focused on the overall approach rather than implementation details.]

Abandoned Ideas

[Optional: Explain any approaches that were considered but rejected. Include why these ideas were abandoned. This helps reviewers understand the thought process and prevents rehashing of already-explored solutions.]

Implementation

[Provide detailed implementation information. This section should contain enough detail that someone could implement the proposal. Include:

  • Technical architecture
  • API changes
  • Data structures
  • Algorithms
  • Migration strategy]

Technical Details

[Specific technical implementation details]

Code Examples

[Include relevant code examples]

User Experience

[Describe how users will interact with this feature. Include:

  • User workflows
  • API examples for developers
  • CLI examples if applicable
  • Configuration changes]

Before

[Show current user experience]

After

[Show improved user experience with this RFC]

UI Design

[If applicable, include UI mockups, wireframes, or design specifications. Describe:

  • Visual changes
  • New components
  • Modified workflows
  • Accessibility considerations]

Security Considerations

[Analyze security implications:

  • Potential vulnerabilities
  • Data privacy concerns
  • Authentication/authorization changes
  • Security best practices]

Performance Impact

[Discuss performance implications:

  • Benchmarks or estimates
  • Resource usage (CPU, memory, network)
  • Scalability considerations
  • Performance optimization strategies]

Backwards Compatibility

[Explain compatibility considerations:

  • Breaking changes
  • Migration path for existing users
  • Deprecation timeline
  • Version compatibility]

Testing Strategy

[Describe the testing approach:

  • Unit tests
  • Integration tests
  • Performance tests
  • User acceptance criteria]

Documentation

[List documentation needs:

  • User guides
  • API documentation
  • Migration guides
  • Example tutorials]

Rollout Plan

[Describe the implementation timeline:

  • Development phases
  • Feature flags or gradual rollout
  • Milestone targets
  • Success metrics]

Open Questions

[List any unresolved questions or decisions that need to be made:

  • Design decisions requiring input
  • Implementation details to be determined
  • Dependencies on other work]

Alternatives Considered

[Describe alternative approaches that were seriously considered:

  • Alternative designs
  • Different technologies
  • Status quo option
  • Why each alternative was not chosen]

References

[Include links to:

  • Related RFCs
  • External documentation
  • Research papers
  • Prior art in other projects]