ESLint RFCs is a repository for managing the request-for-comments process that governs substantial changes to the ESLint project.
The repository addresses the need to establish consensus and controlled design review for significant modifications to ESLint. Rather than allowing major changes to proceed through standard pull request workflows, the RFC process requires contributors to document proposed changes in detail, gather community feedback through an initial issue, and obtain approval from the ESLint Technical Steering Committee before implementation. This approach ensures that breaking changes, new command-line options, core feature additions, and major refactorings receive appropriate scrutiny and stakeholder input before resources are invested in implementation.
Developers should use this process when planning substantial contributions to ESLint or its documentation. The repository provides templates and a structured submission workflow: contributors fork the repository, create a directory under designs with a meaningful name, fill out the RFC template with comprehensive detail, and submit a pull request. The TSC then reviews the proposal, and accepted RFCs are merged into the repository while rejected ones have their pull requests closed. This is most suitable for contributors planning significant architectural changes or features rather than bug fixes or minor documentation updates, which can proceed through the normal ESLint repository workflow.
The project maintains an organized archive of design decisions through a straightforward directory structure organized by year and feature name. Pull requests to the RFC repository serve as the primary discussion mechanism for proposed changes, with the TSC making final acceptance decisions. The repository itself does not implement features but rather documents the design process and decisions that guide ESLint's development trajectory.