rnx-kit/0000-template.md

1.9 KiB

  • Title: (set this to the kebab-case title you used for the filename, e.g. rfc-title)
  • Date: (fill me in with today's date, YYYY-MM-DD)
  • RFC PR: (leave this empty)
  • rnx-kit Issue: (leave this empty)

Summary

A concise, one-paragraph description of the proposal.

Motivation

Why are we doing this? What pain points does this address? What use cases does it support? What is the expected outcome?

Guide-level explanation

Explain the proposal as if it were already included in rnx-kit and you were teaching its usage to another developer. That generally means:

  • Introducing new concepts.
  • Demonstrating usage, largely in terms of examples.
  • Explaining how developers should think about the proposal, and how it impacts the way they use rnx-kit. Be clear and specific.

Reference-level explanation

This is the technical portion of the RFC. Explain the design in detail, giving a reasonably clear picture of how it would be implemented.

Revisit the examples given in the previous section, and explain how the implementation makes those examples work.

Explain how the implementation interacts with existing features and tools.

Drawbacks

Why should we not do this, and what is the impact of that decision? Please consider the cost to educate developers, migrate existing users, and maintain the proposed changes.

Rationale, alternatives, and prior art

What other designs have been considered? What is the rationale for not choosing them?

If there is prior art (good or bad), cite it here. Explain how it impacted this proposal. Lessons learned from similar work being done elsewhere? Published papers or articles that discuss the ideas in this proposal?

Adoption strategy

If we accept this proposal, how will existing developers adopt it? Is this a breaking change? Can we write a codemod? Should we coordinate with other projects or libraries?

Unresolved questions

Optional, but suggested for first drafts. What parts of the design are still TBD?