Skip to content

Commit 1a3d3c3

Browse files
authored
Merge pull request #163 from CommunityToolkit/dev/templates
Add issue/PR templates
2 parents 65e1767 + 2658444 commit 1a3d3c3

File tree

4 files changed

+223
-0
lines changed

4 files changed

+223
-0
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: Bug report
2+
description: Create a report to help us fix something that isn't working as expected
3+
labels: "bug :bug:"
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
## Before you begin
9+
10+
🚨 **Please do not skip instructions** 🚨
11+
12+
This info is essential for investigating your bug report. Issues with missing information may be closed without investigation. Please make sure to look for existing issues about the same problem before opening a new one. If you're uncertain about the problem, [find or start a discussion](https://github.com/CommunityToolkit/dotnet/discussions), where you can get insight from the community regarding your issue.
13+
- type: textarea
14+
id: description
15+
validations:
16+
required: true
17+
attributes:
18+
label: Describe the bug
19+
description: A clear and concise description of what the bug is.
20+
- type: input
21+
id: last-working-toolkit-version
22+
attributes:
23+
label: Regression
24+
description: If this is a regression, what toolkit version did you last see it work?
25+
placeholder:
26+
validations:
27+
required: false
28+
- type: textarea
29+
id: repro-steps
30+
validations:
31+
required: true
32+
attributes:
33+
label: Steps to reproduce
34+
render: text
35+
description: Provide steps to reproduce the issue, or let us know why it can't be reproduced (e.g. more complex setup, environment, dependencies, etc...). If you want to insert a code snippet, make sure to properly format it (add 3 backticks ` at the start and end of your code, followed by the language in use, eg. "csharp") and to remove leading whitespace in each line (if you're pasting code from another IDE where it was indented).
36+
placeholder: |
37+
Example repro steps:
38+
1. Given the following environment (.NET version, framework in use, project type, VS version, etc.)
39+
2. Paste the followin code: <SNIPPET>
40+
3. Click on '....'
41+
4. Scroll down to '....'
42+
5. See error
43+
- type: textarea
44+
id: expected-behavior
45+
validations:
46+
required: true
47+
attributes:
48+
label: Expected behavior
49+
description: A clear and concise description of what you expected to happen.
50+
- type: textarea
51+
id: screenshots
52+
attributes:
53+
label: Screenshots
54+
description: If applicable, add screenshots to help explain your problem.
55+
- type: dropdown
56+
id: ide-version
57+
attributes:
58+
multiple: true
59+
label: IDE and version
60+
description: Check one or more of the following options
61+
options:
62+
- VS 2019
63+
- VS 2022
64+
- VS 2022 Preview
65+
- Rider
66+
- Other
67+
- type: input
68+
id: IDE-exact-build
69+
attributes:
70+
label: IDE version
71+
description: What's the exact build number of your IDE? (For Visual Studio, go to Help -> About Microsoft Visual Studio)
72+
- type: textarea
73+
id: nuget-packages
74+
validations:
75+
required: true
76+
attributes:
77+
label: Nuget packages
78+
description: Which NuGet packages have you used? Include the version number.
79+
options:
80+
- label: CommunityToolkit.Common
81+
- label: CommunityToolkit.Diagnostics
82+
- label: CommunityToolkit.HighPerformance
83+
- label: CommunityToolkit.Mvvm (aka MVVM Toolkit)
84+
- type: textarea
85+
id: additional-context
86+
attributes:
87+
label: Additional context
88+
description: Add any other context about the problem here.
89+
- type: dropdown
90+
id: contribution
91+
validations:
92+
required: true
93+
attributes:
94+
label: Help us help you
95+
description: Would you like to contribute a solution to this issue?
96+
options:
97+
- Yes, I'd like to be assigned to work on this item
98+
- Yes, but only if others can assist
99+
- No, just wanted to report this

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Question or discussion
4+
url: https://github.com/CommunityToolkit/dotnet/discussions/new
5+
about: I have a question about how to use something in the toolkit
6+
- name: Documentation
7+
url: https://github.com/MicrosoftDocs/CommunityToolkit/issues/new
8+
about: I have a documentation suggestion or question
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Feature request
2+
description: Propose a new feature
3+
labels: "feature request :mailbox_with_mail:"
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
## Before you begin
9+
10+
🚨 **Please do not skip instructions** 🚨
11+
12+
This info is essential to properly review your proposal. Proposals with missing information may be closed without investigation. Please make sure to look for existing proposals about the same thing before opening a new one. If you're uncertain about the problem you're trying to solve, [find or start a discussion](https://github.com/CommunityToolkit/dotnet/discussions), where you can get insight from the community regarding your proposal.
13+
- type: textarea
14+
id: description
15+
validations:
16+
required: true
17+
attributes:
18+
label: Overview
19+
description: A clear and concise overview of the problem this proposal would solve.
20+
- type: textarea
21+
id: api-breakdown
22+
validations:
23+
required: true
24+
attributes:
25+
label: API breakdown
26+
description: A complete API breakdown of the new proposed feature or change.
27+
placeholder: |
28+
```csharp
29+
namespace CommunityToolkit.SomePackage;
30+
31+
public class MyProposedClass
32+
{
33+
public void MyProposedApi();
34+
// Other APIs and types as needed...
35+
}
36+
```
37+
- type: textarea
38+
id: usage-example
39+
validations:
40+
required: true
41+
attributes:
42+
label: Usage example
43+
description: An example of of the new API would be used in practice.
44+
- type: dropdown
45+
id: breaking-change
46+
validations:
47+
required: true
48+
attributes:
49+
label: Breaking change?
50+
description: Is the proposed change going to break existing APIs?
51+
options:
52+
- Yes
53+
- No
54+
- Not sure
55+
- type: textarea
56+
id: alternatives
57+
validations:
58+
required: true
59+
attributes:
60+
label: Alternatives
61+
description: An example of alternative approaches that can currently be used, if any.
62+
- type: textarea
63+
id: additional-context
64+
attributes:
65+
label: Additional context
66+
description: Add any other context about the problem here.
67+
- type: dropdown
68+
id: contribution
69+
validations:
70+
required: true
71+
attributes:
72+
label: Help us help you
73+
description: Would you like to contribute a solution to this issue?
74+
options:
75+
- Yes, I'd like to be assigned to work on this item
76+
- Yes, but only if others can assist
77+
- No, just wanted to propose this

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
<!-- 🚨 Please Do Not skip any instructions and information mentioned below as they are all required and essential to evaluate and test the PR. By fulfilling all the required information you will be able to reduce the volume of questions and most likely help merge the PR faster 🚨 -->
2+
3+
<!-- ⚠️ We will not merge the PR to the main repo if your changes are not in a *feature branch* of your forked repository. Create a new branch in your repo, **do not use the `main` branch in your repo**! -->
4+
5+
<!-- ⚠️ **Every PR** needs to have a linked issue and have previously been approved. PRs that don't follow this will be rejected. >
6+
7+
<!-- 👉 It is imperative to resolve ONE ISSUE PER PR and avoid making multiple changes unless the changes interrelate with each other -->
8+
9+
<!-- 📝 Please always keep the "☑️ Allow edits by maintainers" button checked in the Pull Request Template as it increases collaboration with the Toolkit maintainers by permitting commits to your PR branch (only) created from your fork. This can let us quickly make fixes for minor typos or forgotten StyleCop issues during review without needing to wait on you doing extra work. Let us help you help us! 🎉 -->
10+
11+
**Closes #<ISSUE_NUMBER>**
12+
13+
<!-- Add an overview of the changes here -->
14+
15+
<!-- All details should be in the linked issue. Feel free to call out any outstanding differences here. -->
16+
17+
## PR Checklist
18+
19+
<!-- Please check if your PR fulfills the following requirements, and remove the ones that are not applicable to the current PR -->
20+
21+
- [ ] Created a feature/dev branch in your fork (vs. submitting directly from a commit on main)
22+
- [ ] Based off latest main branch of toolkit
23+
- [ ] PR doesn't include merge commits (always rebase on top of our main, if needed)
24+
- [ ] Tested code with current [supported SDKs](../#supported)
25+
- [ ] New component
26+
- [ ] Pull Request has been submitted to the documentation repository [instructions](../blob/main/Contributing.md#docs). Link: <!-- docs PR link -->
27+
- [ ] Added description of major feature to project description for NuGet package (4000 total character limit, so don't push entire description over that)
28+
- [ ] Tests for the changes have been added (for bug fixes / features) (if applicable)
29+
- [ ] Header has been added to all new source files (run _build/UpdateHeaders.bat_)
30+
- [ ] Contains **NO** breaking changes
31+
- [ ] Every new API (including internal ones) has full XML docs
32+
- [ ] Code follows all style conventions
33+
34+
<!-- If this PR contains a breaking change, please describe the impact and migration path for existing applications below.
35+
Please note that breaking changes are likely to be rejected within minor release cycles or held until major versions. -->
36+
37+
## Other information
38+
39+
<!-- Please add any other information that might be helpful to reviewers. -->

0 commit comments

Comments
 (0)