RFCs

This is where we store and organize proposals and RFCs from our team. Think of this as our collaborative workspace for new ideas, improvements, and significant changes.

Have a proposal to contribute? Open a PR with your RFC document. This helps us track discussions and keep everything organized in one place.

For more about our broader initiatives, check out the main Earn section to learn how RFCs fit into our ecosystem.

What is an RFC?

An RFC (Request for Comments) is a document that describes a proposed change, feature, or improvement. It's designed to:

  • Provide clear context for why the change is needed
  • Outline potential solutions and approaches
  • Gather feedback from the team before implementation
  • Document decisions for future reference

Creating a new RFC

When you have an idea that requires team discussion before implementation, follow these steps:

  1. Create a new markdown file in this directory
  2. Name it following our RFC file naming convention:
    • Format: XXX-brief-descriptive-title.md (where XXX is a 3-digit number)
    • Example: 001-team-structure-changes.md or 042-new-onboarding-process.md
    • Use sequential numbering starting from 001
    • Use lowercase letters and hyphens for spaces
    • Keep it concise but descriptive enough to understand the topic
  3. Use the RFC template (see below)
  4. Submit a pull request for team review

RFC template

Copy this template to get started:

# RFC: [Title]

**Author:** [Your Name]
**Date:** [YYYY-MM-DD]
**Status:** Draft | In Review | Approved | Rejected | Implemented

## Summary

A brief (1-2 paragraph) explanation of the proposal.

## Problem

What problem are we trying to solve? Why is this important now?

## Proposed solution

Detailed description of your proposed approach. Include:

* Implementation details
* Timeline estimates
* Required resources
* Success metrics

## Alternatives considered

What other approaches did you consider? Why were they rejected?

## Open questions

List any unresolved questions that need team input.

RFC process

  1. Draft: Initial creation and personal refinement
  2. In Review: Open for team feedback and discussion
  3. Approved: Ready for implementation
  4. Rejected: Not moving forward (with documented reasons)
  5. Implemented: Successfully completed

Best practices

  • Keep your RFC focused on a single, coherent change
  • Be clear about goals and non-goals
  • Consider impacts on all stakeholders
  • Respond to feedback constructively
  • Update the RFC as discussions progress

The goal is thoughtful collaboration, not perfect documents. Share your ideas early and iterate based on feedback!

Subscribe to Dwarves Memo

Receive the latest updates directly to your inbox.