feat: add enhancement template

Signed-off-by: m.nabokikh <maksim.nabokikh@flant.com>
This commit is contained in:
m.nabokikh 2022-04-22 14:19:15 +04:00
parent 92161abfdc
commit 38fe0f5319
2 changed files with 85 additions and 0 deletions

23
enhancements/README.md Normal file
View file

@ -0,0 +1,23 @@
# Enhancement Proposal
## Why do we need it?
Enhancement Proposal (EP) is a design document providing information to the community, or describing a new feature for Dex.
We intend EPs to be the primary mechanisms for proposing major new features.
This will make it easier for community to describe, track, and look through the history of changes that a going to affect the future development of a product.
## Process
### Before starting
1. Search GitHub for [previous issues](https://github.com/dexidp/dex/issues) and [EPs](https://github.com/dexidp/dex/tree/master/enhancements).
2. If an issue does not exist, [open it](https://github.com/dexidp/dex/issues/new?assignees=&labels=&template=feature_request.yaml).
3. Ensure that writing enhancement proposal is necessary for you change by discussing it with a community.
### Writing an enhancement proposal
1. Fork the repo.
2. Copy the [`enhancements/_title-YYYY-MM-DD-#issue.md`](enhancements/_title-YYYY-MM-DD-#issue.md) template with the appropriate
name.
3. Fill all sections according to hints in them. Provide as much information as you can.
4. Submit your PR and discuss it with the Dex team.

View file

@ -0,0 +1,62 @@
# Enhancement Proposal (EP) <issue#> - <YYYY-MM-DD> - <title>
## Table of Contents
- [Summary](#summary)
- [Motivation](#motivation)
- [Goals/Pain](#goals)
- [Non-Goals](#non-goals)
- [Proposal](#proposal)
- [User Experience](#user-experience)
- [Implementation Details/Notes/Constraints](#implementation-detailsnotesconstraints)
- [Risks and Mitigations](#risks-and-mitigations)
- [Alternatives](#alternatives)
- [Future Improvements](#future-improvements)
## Summary
- Provide a one-paragraph description of the expected change here.
## Context
- Link to any previous issues, RFCs, discussions, or briefs.
- Link to any ongoing or future work relevant to this change.
## Motivation
### Goals/Pain
- List work that is assumed to be done in the scope of this enhancement.
- Mention problems solve by this enhancement.
### Non-goals
- List work that is entirely out of the scope of this enhancement. Use this to define EP borders to keep work focused.
- All planned future enhancements should be listed in one of the following blocks - Future Improvements.
## Proposal
### User Experience
- Explain your change as if you were describing it to end-users.
- Explain the way users are supposed to use Dex with the proposed enhancement.
### Implementation Details/Notes/Constraints
- Explain your change as if you were at a development team meeting (give more technical and implementation details).
- When possible, demonstrate with pseudo-code, not text.
- Be specific. Be opinionated. Avoid ambiguity.
### Risks and Mitigations
- Mention all expected risks and migrations in detail here.
- Do not forget to mention if the proposed enhancement is a breaking change.
### Alternatives
- What other approaches have been considered, and why did you not choose them?
- What happens if this enhancement will never be accepted and implemented?
## Future Improvements
- List any future improvements.