Getting Started
The best way to get started is by asking for help in the #new members Zulip stream. We have extensive documentation on how to get started on your own, but the Zulip stream is the best place to ask for help.Essential Resources
rustc-dev-guide
Documentation for contributing to the compiler or tooling
std-dev-guide
Documentation for the standard library development
Rust Zulip
Chat platform for getting help and finding mentors
Internals Forum
Discuss Rust internals and development
Understanding the Ecosystem
The rustc-dev-guide is meant to help document how rustc (the Rust compiler) works, as well as to help new contributors get involved in rustc development. It is recommended that you read and understand the rustc-dev-guide before making a contribution.The guide talks about the different bots in the Rust ecosystem, the Rust development tools, bootstrapping, the compiler architecture, source code representation, and more.
Key Topics Covered
- Bots and Automation: Understanding the various bots like bors that manage the Rust development workflow
- Development Tools: Learning about
x.py, the build system, and other essential tools - Bootstrapping: How the Rust compiler builds itself
- Compiler Architecture: The structure and design of rustc
- Source Code Representation: How Rust code is represented internally
Ways to Contribute
Code Contributions
- Fix bugs and implement features in the compiler
- Improve the standard library
- Enhance tooling (Cargo, rustfmt, Clippy, rust-analyzer)
- Add platform support
Non-Code Contributions
- Improve documentation
- Write tests
- Triage issues
- Review pull requests
- Help others in the community
Working with Subtrees and Submodules
For subtrees, prefer sending a PR against the subtree’s repository if it does not need to be made against the mainrust-lang/rust repository (e.g., a rustc-dev-guide change that does not accompany a compiler change).
Getting Help
There are multiple platforms where you can get help when you’re stuck:Rust Zulip (Recommended)
The Rust Zulip is the recommended platform for asking questions. Key streams include:- #new members: Perfect for newcomers
- #t-compiler: Compiler development discussions
- #contribute: General contribution questions
Internals Forum
The Rust Internals forum is great for longer-form discussions and RFCs.Bug Reports
Did a compiler error message tell you to come here? If you want to create an ICE (Internal Compiler Error) report:Check Existing Issues
Search the issue tracker to see if it’s already reported
Open an Issue
Use the issue template to create a detailed bug report
Next Steps
Development Setup
Set up your development environment
Contribution Workflow
Learn the workflow for submitting changes
Testing Guidelines
Understand how to write and run tests
Code of Conduct
Review our community standards