Skip to content

Commit a3b508f

Browse files
authored
Merge pull request #1988 from ehuss/issue-templates
Add issue templates and update contributor docs
2 parents 41a6f0d + 5359b48 commit a3b508f

File tree

5 files changed

+156
-23
lines changed

5 files changed

+156
-23
lines changed

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Bug Report
2+
description: Create a report to help us improve
3+
labels: ["C-bug"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: Thanks for filing a 🐛 bug report 😄!
8+
- type: textarea
9+
id: problem
10+
attributes:
11+
label: Problem
12+
description: >
13+
Please provide a clear and concise description of what the bug is,
14+
including what currently happens and what you expected to happen.
15+
validations:
16+
required: true
17+
- type: textarea
18+
id: steps
19+
attributes:
20+
label: Steps
21+
description: Please list the steps to reproduce the bug.
22+
placeholder: |
23+
1.
24+
2.
25+
3.
26+
- type: textarea
27+
id: possible-solutions
28+
attributes:
29+
label: Possible Solution(s)
30+
description: >
31+
Not obligatory, but suggest a fix/reason for the bug,
32+
or ideas how to implement the addition or change.
33+
- type: textarea
34+
id: notes
35+
attributes:
36+
label: Notes
37+
description: Provide any additional notes that might be helpful.
38+
- type: textarea
39+
id: version
40+
attributes:
41+
label: Version
42+
description: >
43+
Please paste the output of running `mdbook version` or which version
44+
of the library you are using.
45+
render: text
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Enhancement
2+
description: Suggest an idea for enhancing mdBook
3+
labels: ["C-enhancement"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for filing a 🙋 feature request 😄!
9+
- type: textarea
10+
id: problem
11+
attributes:
12+
label: Problem
13+
description: >
14+
Please provide a clear description of your use case and the problem
15+
this feature request is trying to solve.
16+
validations:
17+
required: true
18+
- type: textarea
19+
id: solution
20+
attributes:
21+
label: Proposed Solution
22+
description: >
23+
Please provide a clear and concise description of what you want to happen.
24+
- type: textarea
25+
id: notes
26+
attributes:
27+
label: Notes
28+
description: Provide any additional context or information that might be helpful.

.github/ISSUE_TEMPLATE/question.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Question
2+
description: Have a question on how to use mdBook?
3+
labels: ["C-question"]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Got a question on how to do something with mdBook?
9+
- type: textarea
10+
id: question
11+
attributes:
12+
label: Question
13+
description: >
14+
Enter your question here. Please try to provide as much detail as possible.
15+
validations:
16+
required: true
17+
- type: textarea
18+
id: version
19+
attributes:
20+
label: Version
21+
description: >
22+
Please paste the output of running `mdbook version` or which version
23+
of the library you are using.
24+
render: text

CONTRIBUTING.md

Lines changed: 43 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -7,30 +7,39 @@ If you have come here to learn how to contribute to mdBook, we have some tips fo
77
First of all, don't hesitate to ask questions!
88
Use the [issue tracker](https://github.com/rust-lang/mdBook/issues), no question is too simple.
99

10+
### Issue assignment
11+
12+
**:warning: Important :warning:**
13+
14+
Before working on pull request, please ping us on the corresponding issue.
15+
The current PR backlog is beyond what we can process at this time.
16+
Only issues that have an [`E-Help-wanted`](https://github.com/rust-lang/mdBook/labels/E-Help-wanted) or [`Feature accepted`](https://github.com/rust-lang/mdBook/labels/Feature%20accepted) label will likely receive reviews.
17+
If there isn't already an open issue for what you want to work on, please open one first to see if it is something we would be available to review.
18+
1019
### Issues to work on
1120

12-
Any issue is up for the grabbing, but if you are starting out, you might be interested in the
21+
If you are starting out, you might be interested in the
1322
[E-Easy issues](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AE-Easy).
1423
Those are issues that are considered more straightforward for beginners to Rust or the codebase itself.
15-
These issues can be a good launching pad for more involved issues. Easy tasks for a first time contribution
16-
include documentation improvements, new tests, examples, updating dependencies, etc.
24+
These issues can be a good launching pad for more involved issues.
25+
Easy tasks for a first time contribution include documentation improvements, new tests, examples, updating dependencies, etc.
1726

1827
If you come from a web development background, you might be interested in issues related to web technologies tagged
1928
[A-JavaScript](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-JavaScript),
2029
[A-Style](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-Style),
2130
[A-HTML](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-HTML) or
2231
[A-Mobile](https://github.com/rust-lang/mdBook/issues?q=is%3Aopen+is%3Aissue+label%3AA-Mobile).
2332

24-
When you decide you want to work on a specific issue, ping us on that issue so that we can assign it to you.
33+
When you decide you want to work on a specific issue, and it isn't already assigned to someone else, assign the issue to yourself by leaving a comment with the text `@rustbot claim`.
2534
Again, do not hesitate to ask questions. We will gladly mentor anyone that want to tackle an issue.
2635

2736
Issues on the issue tracker are categorized with the following labels:
2837

2938
- **A**-prefixed labels state which area of the project an issue relates to.
3039
- **E**-prefixed labels show an estimate of the experience necessary to fix the issue.
31-
- **M**-prefixed labels are meta-issues used for questions, discussions, or tracking issues
40+
- **M**-prefixed labels are meta-issues regarding the management of the mdBook project itself
3241
- **S**-prefixed labels show the status of the issue
33-
- **T**-prefixed labels show the type of issue
42+
- **C**-prefixed labels show the category of issue
3443

3544
### Building mdBook
3645

@@ -59,7 +68,7 @@ This will ensure we have good quality source code that is better for us all to m
5968
[rustfmt](https://github.com/rust-lang/rustfmt) has a lot more information on the project.
6069
The quick guide is
6170

62-
1. Install it
71+
1. Install it (`rustfmt` is usually installed by default via [rustup](https://rustup.rs/)):
6372
```
6473
rustup component add rustfmt
6574
```
@@ -71,18 +80,15 @@ The quick guide is
7180
```
7281
cargo fmt
7382
```
74-
When run through `cargo` it will format all bin and lib files in the current crate.
83+
When run through `cargo` it will format all bin and lib files in the current package.
7584
7685
For more information, such as running it from your favourite editor, please see the `rustfmt` project. [rustfmt](https://github.com/rust-lang/rustfmt)
7786
7887
7988
#### Finding Issues with Clippy
8089
81-
Clippy is a code analyser/linter detecting mistakes, and therefore helps to improve your code.
82-
Like formatting your code with `rustfmt`, running clippy regularly and before your Pull Request will
83-
help us maintain awesome code.
84-
85-
The best documentation can be found over at [rust-clippy](https://github.com/rust-lang/rust-clippy)
90+
[Clippy](https://doc.rust-lang.org/clippy/) is a code analyser/linter detecting mistakes, and therefore helps to improve your code.
91+
Like formatting your code with `rustfmt`, running clippy regularly and before your Pull Request will help us maintain awesome code.
8692
8793
1. To install
8894
```
@@ -93,17 +99,36 @@ The best documentation can be found over at [rust-clippy](https://github.com/rus
9399
cargo clippy
94100
```
95101
96-
Clippy has an ever growing list of checks, that are managed in [lint files](https://rust-lang.github.io/rust-clippy/master/index.html).
102+
### Change requirements
103+
104+
Please consider the following when making a change:
105+
106+
* Almost all changes that modify the Rust code must be accompanied with a test.
107+
108+
* Almost all features and changes must update the documentation.
109+
mdBook has the [mdBook Guide](https://rust-lang.github.io/mdBook/) whose source is at <https://github.com/rust-lang/mdBook/tree/master/guide>.
110+
111+
* Almost all Rust items should be documented with doc comments.
112+
See the [Rustdoc Book](https://doc.rust-lang.org/rustdoc/) for more information on writing doc comments.
113+
114+
* Breaking the API can only be done in major SemVer releases.
115+
These are done very infrequently, so it is preferred to avoid these when possible.
116+
See [SemVer Compatibility](https://doc.rust-lang.org/cargo/reference/semver.html) for more information on what a SemVer breaking change is.
117+
118+
(Note: At this time, some SemVer breaking changes are inevitable due to the current code structure.
119+
An example is adding new fields to the config structures.
120+
These are intended to be fixed in the next major release.)
121+
122+
* Similarly, the CLI interface is considered to be stable.
123+
Care should be taken to avoid breaking existing workflows.
124+
125+
* Check out the [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/) for guidelines on designing the API.
97126
98127
### Making a pull-request
99128
100129
When you feel comfortable that your changes could be integrated into mdBook, you can create a pull-request on GitHub.
101130
One of the core maintainers will then approve the changes or request some changes before it gets merged.
102131
103-
If you want to make your pull-request even better, you might want to run [Clippy](https://github.com/Manishearth/rust-clippy)
104-
and [rustfmt](https://github.com/rust-lang/rustfmt) on the code first.
105-
This is not a requirement though and will never block a pull-request from being merged.
106-
107132
That's it, happy contributions! :tada: :tada: :tada:
108133
109134
## Browser compatibility and testing

triagebot.toml

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,23 @@
11
# This will allow users to self assign, and/or drop assignment
22
[assign]
33

4+
# Allows @rustbot ready, review, author, or blocked
5+
[shortcut]
46

57
[relabel]
68
allow-unauthenticated = [
7-
# For Issue areas
9+
# For Issue areas
810
"A-*",
9-
"E-Help-Wanted",
10-
"Bug",
11-
"Feature-Request"
12-
]
11+
# Categories
12+
"C-*",
13+
# Commands
14+
"Command-*",
15+
# Status
16+
"S-*",
17+
"regression",
18+
"Breaking Change",
19+
"msrv-bump",
20+
]
21+
22+
[autolabel."S-waiting-on-review"]
23+
new_pr = true

0 commit comments

Comments
 (0)