Skip to content

Commit 538fb73

Browse files
committed
add the feature spec template
Signed-off-by: Peter Jausovec <peter.jausovec@solo.io>
1 parent 3c27e3b commit 538fb73

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed

design/template.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
<!--
2+
**Note:** When your Enhancement Proposal (EP) is complete, all of these comment blocks should be removed.
3+
4+
This template is inspired by the Kubernetes Enhancement Proposal (KEP) template: https://github.com/kubernetes/enhancements/blob/master/keps/sig-architecture/0000-kep-process/README.md
5+
6+
To get started with this template:
7+
8+
- [ ] **Create an issue in kagent-dev/kagent**
9+
- [ ] **Make a copy of this template.**
10+
`EP-[ID]: [Feature/Enhancement Name]`, where `ID` is the issue number (with no
11+
leading-zero padding) assigned to your enhancement above.
12+
- [ ] **Fill out this file as best you can.**
13+
At minimum, you should fill in the "Summary" and "Motivation" sections.
14+
- [ ] **Create a PR for this EP.**
15+
Assign it to maintainers with relevant context.
16+
- [ ] **Merge early and iterate.**
17+
Avoid getting hung up on specific details and instead aim to get the goals of
18+
the EP clarified and merged quickly. The best way to do this is to just
19+
start with the high-level sections and fill out details incrementally in
20+
subsequent PRs.
21+
22+
Just because a EP is merged does not mean it is complete or approved. Any EP
23+
marked as `provisional` is a working document and subject to change. You can
24+
denote sections that are under active debate as follows:
25+
26+
```
27+
<<[UNRESOLVED optional short context or usernames ]>>
28+
Stuff that is being argued.
29+
<<[/UNRESOLVED]>>
30+
```
31+
32+
When editing EPS, aim for tightly-scoped, single-topic PRs to keep discussions
33+
focused. If you disagree with what is already in a document, open a new PR
34+
with suggested changes.
35+
36+
One EP corresponds to one "feature" or "enhancement" for its whole lifecycle. Once a feature has become
37+
"implemented", major changes should get new EPs.
38+
-->
39+
# EP-[ID]: [Feature/Enhancement Name]
40+
41+
<!--
42+
This is the title of your EP. Keep it short, simple, and descriptive. A good
43+
title can help communicate what the EP is and should be considered as part of
44+
any review.
45+
-->
46+
47+
* Issue: [#ID](URL to GitHub issue)
48+
49+
## Background
50+
51+
<!--
52+
Provide a brief overview of the feature/enhancement, including relevant background information, origin, and sponsors.
53+
Highlight the primary purpose and how it fits within the broader ecosystem.
54+
55+
Include Motivation, concise overview of goals, challenges, and trade-offs.
56+
57+
-->
58+
59+
## Motivation
60+
61+
<!--
62+
This section is for explicitly listing the motivation, goals, and non-goals of
63+
this EP. Describe why the change is important and the benefits to users. The
64+
motivation section can optionally provide links to [experience reports] to
65+
demonstrate the interest in a EP within the wider Kubernetes community.
66+
67+
[experience reports]: https://github.com/golang/go/wiki/ExperienceReports
68+
-->
69+
70+
### Goals
71+
72+
<!--
73+
74+
List the specific goals of the EP. What is it trying to achieve? How will we
75+
know that this has succeeded?
76+
77+
Include specific, actionable outcomes. Ensure that the goals focus on the scope of
78+
the proposed feature.
79+
-->
80+
81+
82+
### Non-Goals
83+
84+
<!--
85+
What is out of scope for this EP? Listing non-goals helps to focus discussion
86+
and make progress.
87+
-->
88+
89+
## Implementation Details
90+
91+
<!--
92+
This section should contain enough information that the specifics of your
93+
change are understandable. This may include API specs (though not always
94+
required) or even code snippets. If there's any ambiguity about HOW your
95+
proposal will be implemented, this is the place to discuss them.
96+
97+
-->
98+
99+
### Test Plan
100+
101+
<!--
102+
Define the testing strategy for the feature.
103+
Include unit, integration, and end-to-end (e2e) tests.
104+
Specify any additional frameworks or tools required for testing.
105+
-->
106+
107+
## Alternatives
108+
109+
<!--
110+
Highlight potential challenges or trade-offs.
111+
-->
112+
113+
## Open Questions
114+
115+
<!--
116+
Include any unresolved questions or areas requiring feedback.
117+
-->

0 commit comments

Comments
 (0)