Contributing to Rust — documentation

Documentation is never good enough and there’s never enough of it. Many aspects of Rust’s documentation don’t require deep knowledge to improve, and writing, reviewing, and editing documentation are great ways to learn Rust. Furthermore, improvements to documentation are easy to identify and limitless. Don’t like the way something reads? Discover some information that wasn’t documented? Your pull request will be gleefully embraced.

The most impactful documentation you can write is for the crates that make up the Rust ecosystem. While the in-tree documentation is relatively complete, the same is not yet true for many of the popular crates and tools that Rust programmers interact with every day. Contributing API documentation to a popular Rust project will earn you the enduring love of its maintainer.

The Book is the primary documentation for Rust — it’s maintained in its own repository. The Rust Reference is the primary language reference for Rust — it’s maintained in its own repository. The Rustonomicon is a guide to using unsafe correctly — it’s maintained in its own repository. The standard library API documentation is maintained in the main repository. The error index provides extended explanations of the errors produced by the compiler. As new errors are added this documentation must be maintained, so there always are errors not reflected in the index to be added. Most in-tree documentation lives in the src/doc directory. These are all covered by the A-docs label on that issue tracker. Finally, this document and other website materials are maintained in the Rust website Git repository. To contribute simply edit it and submit a pull request.

A great deal of important Rust documentation does not live in the main repository, or is not maintained by the project, but is still critically important to Rust’s success. Examples of excellent Rust documentation that is actively developed and in need of contributors include Rust By Example, Rust Design Patterns, and rust-rosetta. For other existing documentation projects to contribute to see rust-learning.

Meet other Rust documentarians in #rust-docs.