Skip to content

Commit 76d577e

Browse files
Rel1cxCopilot
andauthored
docs: enhance feature and rule request issue templates (#1223)
Signed-off-by: REL1CX <[email protected]> Co-authored-by: Copilot <[email protected]>
1 parent 23f7880 commit 76d577e

File tree

2 files changed

+131
-14
lines changed

2 files changed

+131
-14
lines changed

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 48 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,32 +4,66 @@ description: Suggest an idea
44
labels: ["feature request"]
55

66
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
## Feature Request
11+
12+
Thank you for suggesting a new feature! Before submitting, please ensure your request meets our contribution guidelines.
713
- type: textarea
814
id: problem
915
attributes:
10-
label: Describe the problem
11-
description: A clear description of the problem this feature would solve
12-
placeholder: "I'm always frustrated when..."
16+
label: Problem Description
17+
description: Please describe the problem this feature will solve. Provide specific examples to illustrate the issue.
18+
placeholder: "This feature will solve..."
1319
validations:
1420
required: true
1521

1622
- type: textarea
17-
id: solution
23+
id: alternative-solutions
1824
attributes:
19-
label: "Describe the solution you'd like"
20-
description: A clear description of what change you would like
21-
placeholder: "I would like to..."
25+
label: Alternative Solutions
26+
description: Have you tried to solve the problem by other means? Why aren't these methods sufficient to solve the problem?
27+
placeholder: "I've tried..."
2228
validations:
23-
required: false
29+
required: true
2430

2531
- type: textarea
26-
id: alternatives
32+
id: feature-details
2733
attributes:
28-
label: Alternatives considered
29-
description: "Any alternative solutions you've considered"
34+
label: Feature Details
35+
description: Suggest a name for the feature, as well as details about how it should work and any relevant use cases.
36+
placeholder: |
37+
Feature name: [FeatureName]
38+
39+
Details: Provide more background information and suggested implementation details
40+
validations:
41+
required: true
3042

3143
- type: textarea
32-
id: context
44+
id: examples
45+
attributes:
46+
label: Examples
47+
description: Provide examples of how this feature would be used in practice.
48+
placeholder: |
49+
Example usage:
50+
```tsx
51+
// Example code demonstrating the feature
52+
```
53+
validations:
54+
required: true
55+
56+
- type: checkboxes
57+
id: checklist
3358
attributes:
34-
label: Additional context
35-
description: Add any other context about the problem here.
59+
label: Evaluation Checklist
60+
description: Please check the following items to ensure the feature suggestion is reasonable
61+
options:
62+
- label: I have had problems that this feature would solve
63+
required: true
64+
- label: I could not find a way to solve the problem with existing features or workarounds
65+
required: true
66+
- label: I have thought very hard about potential edge cases and downsides, and they are acceptable
67+
required: true
68+
- label: I think the feature is well-defined and would provide clear value to users
69+
required: true
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: 💡 Rule Request
2+
title: "[rule] "
3+
description: Suggest a rule
4+
labels: ["rule request"]
5+
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
## Rule Request
11+
12+
Thank you for suggesting a new rule! Before submitting, please ensure your request meets our rule writing standards.
13+
14+
## References on Rule Design
15+
- [What makes a good rule](https://package.elm-lang.org/packages/jfmengels/elm-review/latest/Review-Rule#what-makes-a-good-rule)
16+
- [When to write or enable a rule](https://package.elm-lang.org/packages/jfmengels/elm-review/latest/#when-to-write-or-enable-a-rule)
17+
18+
- type: textarea
19+
id: problem
20+
attributes:
21+
label: Problem Description
22+
description: Please describe what problem this rule will solve. Provide specific code examples to illustrate the issue.
23+
placeholder: "This rule will solve..."
24+
validations:
25+
required: true
26+
27+
- type: textarea
28+
id: alternative-solutions
29+
attributes:
30+
label: Alternative Solutions
31+
description: Have you tried to solve the problem by changing the API or introducing a new API? Why aren't these methods sufficient to solve the problem?
32+
placeholder: "I've tried..."
33+
validations:
34+
required: true
35+
36+
- type: textarea
37+
id: rule-name-and-message
38+
attributes:
39+
label: Rule Name and Error Message
40+
description: Suggest a name for the rule, as well as the error message and details that should be displayed when the rule is violated.
41+
placeholder: |
42+
Rule name: [PluginName]/[YourRuleName]
43+
44+
Error message: Briefly and clearly describe the problem
45+
46+
Details: Provide more background information and suggested solutions
47+
validations:
48+
required: true
49+
50+
- type: textarea
51+
id: examples
52+
attributes:
53+
label: Examples
54+
description: Provide code examples that should be flagged and code examples that should not be flagged.
55+
placeholder: |
56+
Code that should be flagged:
57+
```tsx
58+
// Problematic code
59+
```
60+
61+
Code that should not be flagged:
62+
```tsx
63+
// Correct code
64+
```
65+
validations:
66+
required: true
67+
68+
- type: checkboxes
69+
id: checklist
70+
attributes:
71+
label: Evaluation Checklist
72+
description: Please check the following items to ensure the rule suggestion is reasonable
73+
options:
74+
- label: I have had problems with the pattern I want to forbid
75+
required: true
76+
- label: I could not find a way to solve the problem by changing the API of the problematic code or introducing a new API
77+
required: true
78+
- label: I have thought very hard about what the corner cases could be and what kind of patterns this would forbid that are actually okay, and they are acceptable
79+
required: true
80+
- label: I think the rule explains well enough how to solve the issue, to make sure beginners are not blocked by it
81+
required: true
82+
- label: I have discussed this rule with team members, and they all find it valuable
83+
required: false

0 commit comments

Comments
 (0)