Repo for managing Requests For Comments (RFCs) for the ESLint project
158
stars
80
commits
Sep 8, 2026
updated
Many changes, including bug fixes and documentation improvements, can be implemented and reviewed via the normal GitHub pull request workflow.
However, some changes are "substantial", and we ask that these be put through a bit of a design process and produce a consensus among the ESLint Technical Steering Committee (TSC).
The "RFC" (request for comments) process is intended to provide a consistent and controlled path for new features to enter the project.
You need to follow this process if you intend to make "substantial" changes to any part of the ESLint project or its documentation. What constitutes a "substantial" change is evolving based on community norms, but may include the following.
In addition to these, the TSC may request an RFC for any other change that it deems "substantial" based on the size or scope of the request.
If you submit a pull request to implement a new feature without going through the RFC process, it may be closed with a polite request to submit an RFC first.
Before submitting an RFC, open an issue in the repository where you'd like to make the change (for example, to make a change to ESLint, open an issue in the eslint/eslint repository). The purpose of opening the issue is to gather feedback from the community and the ESLint team to ensure that there is enough interest to put together an RFC.
Once the ESLint team has indicated that there is enough interest, you'll be asked to create an RFC to describe the change you'd like to make in more detail.
Note: Please do not submit a pull request with your prototype or proof-of-concept. Instead, include a link to your fork or branch when you submit your RFC (see next section).
To submit a new RFC, follow these steps:
designs directory. The directory name should begin with the year and include a meaningful description, such as designs/2018-typescript-support.templates directory into the appropriate designs subdirectory (such as designs/2018-typescript-support/README.md). Be sure to name your file README.md so it is easily viewable in the GitHub interface.README.md.When an RFC is submitted, it goes through the following process:
Note: If two or more RFCs attempt to address the same problem or need, the TSC will consider all of the competing RFCs together to determine which RFC to approve. Alternately, the TSC may request that competing RFCs be merged in order to create a hybrid solution.
Once an RFC is merged into this repo, then the authors may implement it and submit a pull request to the appropriate ESLint repo without opening an issue. Note that the implementation still needs to be reviewed separate from the RFC, so you should expect more feedback and iteration.
If the RFC authors choose not to implement the RFC, then the RFC may be implemented by anyone. There is no guarantee that RFCs not implemented by their author will be implemented by the ESLint team.
Changes to the design during implementation should be reflected by updating the related RFC. The goal is to have RFCs to look back on to understand the motivation and design of shipped ESLint features.
The author of an RFC is not obligated to implement it. Of course, the RFC author (like any other developer) is welcome to post an implementation for review after the RFC has been accepted.
When a pull request has implemented an RFC, the RFC should be updated with a link to the PR implementing it.
Thanks to the Ember RFC process for the inspiration for ESLint's RFC process.
(top 30 of 35)
Repo for managing Requests For Comments (RFCs) for the ESLint project
158
stars
80
commits
Sep 8, 2026
updated
Many changes, including bug fixes and documentation improvements, can be implemented and reviewed via the normal GitHub pull request workflow.
However, some changes are "substantial", and we ask that these be put through a bit of a design process and produce a consensus among the ESLint Technical Steering Committee (TSC).
The "RFC" (request for comments) process is intended to provide a consistent and controlled path for new features to enter the project.
You need to follow this process if you intend to make "substantial" changes to any part of the ESLint project or its documentation. What constitutes a "substantial" change is evolving based on community norms, but may include the following.
In addition to these, the TSC may request an RFC for any other change that it deems "substantial" based on the size or scope of the request.
If you submit a pull request to implement a new feature without going through the RFC process, it may be closed with a polite request to submit an RFC first.
Before submitting an RFC, open an issue in the repository where you'd like to make the change (for example, to make a change to ESLint, open an issue in the eslint/eslint repository). The purpose of opening the issue is to gather feedback from the community and the ESLint team to ensure that there is enough interest to put together an RFC.
Once the ESLint team has indicated that there is enough interest, you'll be asked to create an RFC to describe the change you'd like to make in more detail.
Note: Please do not submit a pull request with your prototype or proof-of-concept. Instead, include a link to your fork or branch when you submit your RFC (see next section).
To submit a new RFC, follow these steps:
designs directory. The directory name should begin with the year and include a meaningful description, such as designs/2018-typescript-support.templates directory into the appropriate designs subdirectory (such as designs/2018-typescript-support/README.md). Be sure to name your file README.md so it is easily viewable in the GitHub interface.README.md.When an RFC is submitted, it goes through the following process:
Note: If two or more RFCs attempt to address the same problem or need, the TSC will consider all of the competing RFCs together to determine which RFC to approve. Alternately, the TSC may request that competing RFCs be merged in order to create a hybrid solution.
Once an RFC is merged into this repo, then the authors may implement it and submit a pull request to the appropriate ESLint repo without opening an issue. Note that the implementation still needs to be reviewed separate from the RFC, so you should expect more feedback and iteration.
If the RFC authors choose not to implement the RFC, then the RFC may be implemented by anyone. There is no guarantee that RFCs not implemented by their author will be implemented by the ESLint team.
Changes to the design during implementation should be reflected by updating the related RFC. The goal is to have RFCs to look back on to understand the motivation and design of shipped ESLint features.
The author of an RFC is not obligated to implement it. Of course, the RFC author (like any other developer) is welcome to post an implementation for review after the RFC has been accepted.
When a pull request has implemented an RFC, the RFC should be updated with a link to the PR implementing it.
Thanks to the Ember RFC process for the inspiration for ESLint's RFC process.
(top 30 of 35)