Skip to content

Commit

Permalink
Add a "What should I work on?" section
Browse files Browse the repository at this point in the history
This is the first question I get from nearly all contributors. So far
I've been giving links to individual issues, but they quickly go out of
date or get fixed, and then I have more work to do to help people find
an issue. Add some suggestions for work people can find themselves,
without having to first consult an expert.

This also moves the "Cloning and Building" stub to the bottom of the
page.
  • Loading branch information
jyn514 committed Apr 8, 2023
1 parent 0d64343 commit f9e08bc
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 9 deletions.
3 changes: 0 additions & 3 deletions src/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -375,12 +375,9 @@ still valid. Load up an older issue, double check that it's still true, and
leave a comment letting us know if it is or is not. The [least recently
updated sort][lru] is good for finding issues like this.

If you're looking for somewhere to start, check out the [E-easy] tag.

[Thanks to `@rustbot`][rustbot], anyone can help triage issues by adding
appropriate labels to issues that haven't been triaged yet:

[E-easy]: https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Aissue+label%3AE-easy
[lru]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-asc
[rustbot]: ./rustbot.md

Expand Down
60 changes: 54 additions & 6 deletions src/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,20 +70,64 @@ Just pinging someone without providing any context can be a bit annoying and
just create noise, so we ask that you be mindful of the fact that the
`t-compiler` folks get a lot of pings in a day.

## Cloning and Building
## What should I work on?

See ["How to build and run the compiler"](./building//how-to-build-and-run.md).
The Rust project is quite large and it can be difficult to know which parts of the project need
help, or are a good starting place for beginners. Here are some suggested starting places.

### Easy or mentored issues

If you're looking for somewhere to start, check out the following [issue
search][help-wanted-search]. See the [Triage] for an explanation of these labels. You can also try
filtering the search to areas you're interested in. For example:

- `repo:rust-lang/rust-clippy` will only show clippy issues
- `label:T-compiler` will only show issues related to the compiler
- `label:A-diagnostics` will only show diagnostic issues

Not all important or beginner work has issue labels. See below for how to find work that isn't labelled.

[help-wanted-search]: https://github.com/issues?q=is%3Aopen+is%3Aissue+org%3Arust-lang+no%3Aassignee+label%3AE-easy%2C%22good+first+issue%22%2Cgood-first-issue%2CE-medium%2CE-help-wanted%2CE-mentor
[Triage]: ./contributing.md#issue-triage

### Recurring work

Some work is too large to be done by a single person. In this case, it's commmon to have "Tracking issues" to co-ordinate the work between contributors.
Here are some example tracking issues where it's easy to pick up a work without a large time commitment:

- [Rustdoc Askama Migration](https://github.com/rust-lang/rust/issues/108868)
- [Diagnostic Translation](https://github.com/rust-lang/rust/issues/100717)
- [Move UI tests to subdirectories](https://github.com/rust-lang/rust/issues/73494)

If you find more recurring work, please feel free to add it here!

## Contributing code to other Rust projects
### Clippy issues

The [Clippy] project has spent a long time making its contribution process as friendly to newcomers as possible.
Consider working on it first to get familiar with the process and the compiler internals.

See [the Clippy contribution guide][clippy-contributing] for instructions on getting started.

[Clippy]: https://doc.rust-lang.org/clippy/
[clippy-contributing]: https://github.com/rust-lang/rust-clippy/blob/master/CONTRIBUTING.md

### Diagnostic issues

Many diagnostic issues are self-contained and don't need detailed background knowledge of the
compiler. You can see a list of diagnostic issues [here][diagnostic-issues].

[diagnostic-issues]: https://github.com/rust-lang/rust/issues?q=is%3Aissue+is%3Aopen+label%3AA-diagnostics+no%3Aassignee

### Contributing code to other Rust projects

There are a bunch of other projects that you can contribute to outside of the
`rust-lang/rust` repo, including `clippy`, `miri`, `chalk`, and many others.
`rust-lang/rust` repo, including `cargo`, `miri`, `rustup`, and many others.

These repos might have their own contributing guidelines and procedures. Many
of them are owned by working groups (e.g. `chalk` is largely owned by
WG-traits). For more info, see the documentation in those repos' READMEs.

## Other ways to contribute
### Other ways to contribute

There are a bunch of other ways you can contribute, especially if you don't
feel comfortable jumping straight into the large `rust-lang/rust` codebase.
Expand Down Expand Up @@ -118,9 +162,13 @@ incredibly helpful:
[wg]: https://rust-lang.github.io/compiler-team/working-groups/
[triage]: ./contributing.md#issue-triage

## Cloning and Building

See ["How to build and run the compiler"](./building//how-to-build-and-run.md).

## Contributor Procedures

This section has moved to the ["Contribution Procedures"](./contributing.md) chapter.
This section has moved to the ["Contribution Procedures"](./contributing.mD) chapter.

## Other Resources

Expand Down

0 comments on commit f9e08bc

Please sign in to comment.