1# Contributing to Rust
2
3Thank you for your interest in contributing to Rust! There are many ways to contribute
4and we appreciate all of them.
5
6The best way to get started is by asking for help in the [#new
7members](https://rust-lang.zulipchat.com/#narrow/stream/122652-new-members)
8Zulip stream. We have a lot of documentation below on how to get started on your own, but
9the Zulip stream is the best place to *ask* for help.
10
11Documentation for contributing to the compiler or tooling is located in the [Guide to Rustc
12Development][rustc-dev-guide], commonly known as the [rustc-dev-guide]. Documentation for the
13standard library is in the [Standard library developers Guide][std-dev-guide], commonly known as the [std-dev-guide].
14
15## Making changes to subtrees and submodules
16
17For submodules, changes need to be made against the repository corresponding to the
18submodule, and not the main `rust-lang/rust` repository.
19
20For subtrees, prefer sending a PR against the subtree's repository if it does
21not need to be made against the main `rust-lang/rust` repository (e.g. a
22rustc-dev-guide change that does not accompany a compiler change).
23
24## About the [rustc-dev-guide]
25
26The [rustc-dev-guide] is meant to help document how rustc –the Rust compiler– works,
27as well as to help new contributors get involved in rustc development. It is recommended
28that you read and understand the [rustc-dev-guide] before making a contribution. This guide
29talks about the different bots in the Rust ecosystem, the Rust development tools,
30bootstrapping, the compiler architecture, source code representation, and more.
31
32## [Getting help](https://rustc-dev-guide.rust-lang.org/getting-started.html#asking-questions)
33
34There are many ways you can get help when you're stuck. Rust has two platforms for this:
35[internals] and [rust-zulip]. It is recommended to ask for help on
36the [rust-zulip], but any of these platforms are great ways to seek help and even
37find a mentor! You can learn more about asking questions and getting help in the
38[Asking Questions](https://rustc-dev-guide.rust-lang.org/getting-started.html#asking-questions) chapter of the [rustc-dev-guide].
39
40## Bug reports
41
42Did a compiler error message tell you to come here? If you want to create an ICE report,
43refer to [this section][contributing-bug-reports] and [open an issue][issue template].
44
45[rustc-dev-guide]: https://rustc-dev-guide.rust-lang.org/
46[std-dev-guide]: https://std-dev-guide.rust-lang.org/
47[contributing-bug-reports]: https://rustc-dev-guide.rust-lang.org/contributing.html#bug-reports
48[issue template]: https://github.com/rust-lang/rust/issues/new/choose
49[internals]: https://internals.rust-lang.org
50[rust-zulip]: https://rust-lang.zulipchat.com