explaingit

joshuakgoldberg/rfcs

Analysis updated 2026-07-05 · repo last pushed 2025-10-27

Audience · developerComplexity · 1/5QuietSetup · easy

TLDR

A repository where anyone can propose and discuss major structural changes to ESLint through a formal, multi-stage review process before they get implemented.

Mindmap

mindmap
  root((repo))
    What it does
      Propose ESLint changes
      Formal design discussion
      Durable decision record
    Process
      Open interest issue
      Fork and write RFC
      21 to 90 day comment period
      TSC final review
    Use cases
      Propose breaking changes
      Suggest new CLI options
      Document design decisions
    Audience
      Casual contributors
      Core maintainers
      Community members
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Propose a new ESLint CLI option that would change existing behavior.

USE CASE 2

Suggest a major refactor to how ESLint processes rules.

USE CASE 3

Review and comment on proposed changes to ESLint before they are implemented.

USE CASE 4

Read past proposals to understand the reasoning behind current ESLint design decisions.

What is it built with?

Markdown

How does it compare?

joshuakgoldberg/rfcs0xhassaan/nn-from-scratch0xzgbot/hermes-comfyui-skills
Stars00
LanguagePython
Last pushed2025-10-27
MaintenanceQuiet
Setup difficultyeasymoderateeasy
Complexity1/54/51/5
Audiencedeveloperdeveloperdesigner

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

No setup required, this is a documentation repository where you simply copy a Markdown template to start writing a proposal.

No license information is provided in the repository description, this repo contains process documentation and templates rather than executable code.

In plain English

ESLint is a widely used tool that helps developers catch mistakes and enforce consistent coding style in JavaScript projects. The rfcs repository is where anyone can propose big, structural changes to how ESLint itself works, things like new command-line options, major refactors, or anything that would break existing behavior. Small fixes and documentation tweaks go through the normal pull request flow, but substantial changes need a more formal design discussion first. The process is straightforward but deliberate. You start by opening an issue in the relevant ESLint repository to gauge community interest. If there's enough support, you fork this repo, copy a template, and write up a detailed proposal describing what you want to change and why. You submit that as a pull request, which kicks off a two-phase review. First, there's an initial commenting period lasting 21 to 90 days where anyone can give feedback and the author refines the proposal. After that, the ESLint Technical Steering Committee (TSC) has a final seven-day window to approve or reject it. If the TSC reaches consensus, the RFC gets merged and the feature can move toward implementation. This matters because ESLint is used by a huge number of developers, and even small changes can have ripple effects. The RFC process exists to make sure significant shifts in direction are transparent and debated openly rather than quietly slipping in. Anyone from a casual contributor to a core maintainer can participate, you just need to care enough about a feature to write it up and respond to feedback. One notable aspect is that having an RFC accepted doesn't mean it gets built automatically. The original author is encouraged but not obligated to implement it, and anyone else can pick it up. The RFC then serves as a durable record of why a particular design decision was made, which is useful for future contributors trying to understand the reasoning behind existing behavior.

Copy-paste prompts

Prompt 1
Help me draft an RFC for ESLint that proposes adding a new configuration file format. I need to fill in the motivation, detailed design, and drawbacks sections.
Prompt 2
I want to propose a breaking change to an ESLint rule. Walk me through the RFC template structure and help me write a compelling proposal.
Prompt 3
Review my ESLint RFC draft about changing how ignore patterns work. What questions or objections might the Technical Steering Committee have during the review period?

Frequently asked questions

What is rfcs?

A repository where anyone can propose and discuss major structural changes to ESLint through a formal, multi-stage review process before they get implemented.

Is rfcs actively maintained?

Quiet — no commits in 6-12 months (last push 2025-10-27).

What license does rfcs use?

No license information is provided in the repository description, this repo contains process documentation and templates rather than executable code.

How hard is rfcs to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is rfcs for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.