Skip to content

Commit

Permalink
Create 0000-template.md
Browse files Browse the repository at this point in the history
  • Loading branch information
hzoo authored Apr 22, 2020
1 parent 0f74a0e commit 4a459ec
Showing 1 changed file with 102 additions and 0 deletions.
102 changes: 102 additions & 0 deletions 0000-template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
- Repo: (the repo it will be implemented in, e.g. [`babel/babel`](https://github.com/babel/babel))
- Start Date: (fill me in with today's date, YYYY-MM-DD)
- RFC PR: (leave this empty, to be filled in later)
- Related Issues: (if relevant)
- Authors: (the names of everyone contributing to this RFC)

# Summary

Brief explanation of the feature.

# Basic example

If the proposal involves a new or changed API, include a basic code example.
Omit this section if it's not applicable.

# Motivation

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

Please focus on explaining the motivation so that if this RFC is not accepted,
the motivation could be used to develop alternative solutions. In other words,
enumerate the constraints you are trying to solve without coupling them too
closely to the solution you have in mind.

# Detailed design

This is the bulk of the RFC. Explain the design in enough detail for somebody
familiar with Babel to understand, and for somebody familiar with the
implementation to implement. This should get into specifics and corner-cases,
and include examples of how the feature is used. Any new terminology should be
defined here.

# Drawbacks

Why should we *not* do this? Please consider:

- implementation cost, both in term of code size and complexity
- whether the proposed feature can be implemented in user space
- the impact on teaching people Babel
- integration of this feature with other existing and planned features
- cost of migrating existing Babel applications (is it a breaking change?)

There are tradeoffs to choosing any path. Attempt to identify them here.

# Alternatives

What other designs have been considered? Why did you decide against those? What is the impact of not doing this?

This section should also include prior art, such as whether similar projects have already implemented a similar feature.

# Adoption strategy

If we implement this proposal, how will existing users adopt it? Is
this a breaking change? How will we minimize disruption to existing users?
Can we write a codemod? Should we coordinate with
other projects or libraries?

# How we teach this

What names and terminology work best for these concepts and why? How is this
idea best presented?

Would the acceptance of this proposal mean our documentation must be
re-organized or altered? Does it change how Babel is used by developers
at any level?

How should this feature be taught to existing users?

# Open questions

<!--
This section is optional, but is suggested for a first draft.
What parts of this proposal are you unclear about? What do you
need to know before you can finalize this RFC?
List the questions that you'd like reviewers to focus on. When
you've received the answers and updated the design to reflect them,
you can remove this section.
If you plan to implement this on your own, what help would you need from the team?
-->

## Frequently Asked Questions

<!--
This section is optional but suggested.
Try to anticipate points of clarification that might be needed by
the people reviewing this RFC. Include those questions and answers
in this section.
-->

## Related Discussions

<!--
This section is optional but suggested.
If there is an issue, pull request, or other URL that provides useful
context for this proposal, please include those links here.
-->

0 comments on commit 4a459ec

Please sign in to comment.