Skip to content

Commit 3e52960

Browse files
Merge pull request rust-lang#195 from Havvy/community
Add contributing document
2 parents 50e1bca + 79cc0b9 commit 3e52960

File tree

1 file changed

+60
-0
lines changed

1 file changed

+60
-0
lines changed

CONTRIBUTING.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
Thank you for your interest in contributing to the Rust Reference!
2+
3+
There are a few ways of helping with the reference: critiquing the reference,
4+
editing the reference, fixing incorrect information, adding examples and
5+
glossary entries, and documenting new or otherwise undocumented features in
6+
Rust.
7+
8+
For awhile, the Reference was basically ignored, and Rust continued gaining
9+
new features or changing old ones. It was also basically the introduction
10+
document before the first edition of the Rust book, and constantly in flux from
11+
the huge churn of the language design before v1.0.0. So there's a lot that's
12+
wrong, too teachy for people who should have basic understanding of Rust, or
13+
is too shallow for the Reference. As such, we
14+
have the warning saying there's work that needs to be done. Eventually, we plan
15+
to make sure everything is well documented enough that we can remove the
16+
warning.
17+
18+
## Critiquing the Reference
19+
20+
This is the easiest way to contribute. Basically, as you read the reference, if
21+
you find something confusing, incorrect, or missing, then you can file an issue
22+
against the reference explaining your concerns.
23+
24+
## Editing the Reference
25+
26+
Typos and incorrect links get through from time to time. Should you find them,
27+
we welcome PRs to fix them. Additionally, larger editing jobs that help remove
28+
the number of parentheticals, remove comma splices, italicize term definitions
29+
and other similar tasks are helpful.
30+
31+
## Adding Examples and Glossary Entries
32+
33+
Examples are great. Many people will only read examples and ignore the prose.
34+
Ideally, every facet of every feature will have an example.
35+
36+
Likewise, the reference has a glossary. It doesn't need to explain every facet
37+
of every feature nor contain every definition, but it does need to be expanded
38+
upon. Ideally entries in the glossary link to the associated documentation.
39+
40+
## Adding Documentation
41+
42+
There are a lot of features that are not documented at all or are documented
43+
poorly. This is the hardest, but definitely most valuable. Pick something from
44+
["Document all features"][9] or a [missing feature] tag, and write about it.
45+
46+
While writing, you may find it handy to have a [playpen] open to test out what
47+
you are documenting.
48+
49+
Feel free to take information from the standard library and Rustonomicon as
50+
appropriate.
51+
52+
Note that we don't write documentation for purely library features such as
53+
threads and IO and we don't write about Rust in the future. Documentation is
54+
written as if the current stable release of Rust is the last release. If you
55+
want to write about Rust in the future, you want [the Unstable book][unstable].
56+
57+
[9]: https://github.com/rust-lang-nursery/reference/issues/9
58+
[missing feature]: https://github.com/rust-lang-nursery/reference/issues?q=is%3Aissue+is%3Aopen+label%3A%22Missing+Feature%22
59+
[playpen]: https://play.rust-lang.org/
60+
[unstable]: https://doc.rust-lang.org/nightly/unstable-book/

0 commit comments

Comments
 (0)