Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 48 additions & 14 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,66 @@ description: Suggest an idea
labels: ["feature request"]

body:
- type: markdown
attributes:
value: |
## Feature Request

# Thank you for suggesting a new feature! Before submitting, please ensure your request meets our contribution guidelines.
- type: textarea
id: problem
attributes:
label: Describe the problem
description: A clear description of the problem this feature would solve
placeholder: "I'm always frustrated when..."
label: Problem Description
description: Please describe the problem this feature will solve. Provide specific examples to illustrate the issue.
placeholder: "This feature will solve..."
validations:
required: true

- type: textarea
id: solution
id: alternative-solutions
attributes:
label: "Describe the solution you'd like"
description: A clear description of what change you would like
placeholder: "I would like to..."
label: Alternative Solutions
description: Have you tried to solve the problem by other means? Why aren't these methods sufficient to solve the problem?
placeholder: "I've tried..."
validations:
required: false
required: true

- type: textarea
id: alternatives
id: feature-details
attributes:
label: Alternatives considered
description: "Any alternative solutions you've considered"
label: Feature Details
description: Suggest a name for the feature, as well as details about how it should work and any relevant use cases.
placeholder: |
Feature name: [FeatureName]

Details: Provide more background information and suggested implementation details
validations:
required: true

- type: textarea
id: context
id: examples
attributes:
label: Examples
description: Provide examples of how this feature would be used in practice.
placeholder: |
Example usage:
```tsx
// Example code demonstrating the feature
```
validations:
required: true

- type: checkboxes
id: checklist
attributes:
label: Additional context
description: Add any other context about the problem here.
label: Evaluation Checklist
description: Please check the following items to ensure the feature suggestion is reasonable
options:
- label: I have had problems that this feature would solve
required: true
- label: I could not find a way to solve the problem with existing features or workarounds
required: true
- label: I have thought very hard about potential edge cases and downsides, and they are acceptable
required: true
- label: I think the feature is well-defined and would provide clear value to users
required: true
83 changes: 83 additions & 0 deletions .github/ISSUE_TEMPLATE/rule_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: 💡 Rule Request
title: "[rule] "
description: Suggest a rule
labels: ["rule request"]

body:
- type: markdown
attributes:
value: |
## Rule Request
# Thank you for suggesting a new rule! Before submitting, please ensure your request meets our rule writing standards.
## References on Rule Design
- [What makes a good rule](https://package.elm-lang.org/packages/jfmengels/elm-review/latest/Review-Rule#what-makes-a-good-rule)
- [When to write or enable a rule](https://package.elm-lang.org/packages/jfmengels/elm-review/latest/#when-to-write-or-enable-a-rule)
- type: textarea
id: problem
attributes:
label: Problem Description
description: Please describe what problem this rule will solve. Provide specific code examples to illustrate the issue.
placeholder: "This rule will solve..."
validations:
required: true

- type: textarea
id: alternative-solutions
attributes:
label: Alternative Solutions
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?
placeholder: "I've tried..."
validations:
required: true

- type: textarea
id: rule-name-and-message
attributes:
label: Rule Name and Error Message
description: Suggest a name for the rule, as well as the error message and details that should be displayed when the rule is violated.
placeholder: |
Rule name: [PluginName]/[YourRuleName]
Error message: Briefly and clearly describe the problem
Details: Provide more background information and suggested solutions
validations:
required: true

- type: textarea
id: examples
attributes:
label: Examples
description: Provide code examples that should be flagged and code examples that should not be flagged.
placeholder: |
Code that should be flagged:
```tsx
// Problematic code
```
Code that should not be flagged:
```tsx
// Correct code
```
validations:
required: true

- type: checkboxes
id: checklist
attributes:
label: Evaluation Checklist
description: Please check the following items to ensure the rule suggestion is reasonable
options:
- label: I have had problems with the pattern I want to forbid
required: true
- label: I could not find a way to solve the problem by changing the API of the problematic code or introducing a new API
required: true
- 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
required: true
- label: I think the rule explains well enough how to solve the issue, to make sure beginners are not blocked by it
required: true
- label: I have discussed this rule with team members, and they all find it valuable
required: false