npm/rfcs is a public RFC process for the npm CLI that enables structured discussion of proposed changes and features.
The tool addresses the need for a transparent, community-inclusive mechanism to evaluate and decide on changes to the npm package manager. It adapts the IETF's Request For Comments model, where proposals are drafted, reviewed, and ratified through discussion among npm team members and the wider community. The process operates on rough consensus rather than full consensus, meaning the goal is to surface all objections, understand them fully, and make informed decisions about whether to modify proposals, accept objections, or abandon ideas entirely. Objections raised multiple times without relevant changes are not reconsidered.
The RFC process is specifically scoped to the npm CLI and its supporting web services. Developers should use this process when proposing any change to the CLI itself, including registry changes that support CLI modifications. The tool suits teams and communities that need structured decision-making on package manager direction. The process encourages iterative development of features, sometimes splitting larger proposals into smaller RFCs or implementing foundational work first. It also permits implementation-first exploration, where proof-of-concept or production-ready code is developed during RFC discussion to test proposals in reality before acceptance.
The project maintains an active discussion culture where community participation is explicitly encouraged, including the raising of objections and concerns. The team conducts regular OpenRFC meetings to discuss proposals and make decisions. The process documentation reflects ongoing refinement of how proposals are evaluated and implemented, with clear guidance on when features should be broken into smaller components and how implementation can inform RFC decisions.