Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
- [About the compiler team](./compiler-team.md)
- [Using Git](./git.md)
- [Mastering @rustbot](./rustbot.md)
- [Running LLMs](./llm-guidance.md)
- [Walkthrough: a typical contribution](./walkthrough.md)
- [Implementing new language features](./implementing-new-features.md)
- [Stability guarantees](./stability-guarantees.md)
Expand Down
3 changes: 2 additions & 1 deletion src/about-this-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ You might also find the following sites useful:

- [rustc API docs] -- rustdoc documentation for the compiler, devtools, and internal tools
- [Forge] -- contains documentation about Rust infrastructure, team procedures, and more
- `rust-lang/rust`'s [LLM policy]
- [compiler-team] -- the home-base for the Rust compiler team, with description
of the team procedures, active working groups, and the team calendar.
- [std-dev-guide] -- a similar guide for developing the standard library.
Expand All @@ -93,7 +94,7 @@ You might also find the following sites useful:
For example, searching for `* -> vec` should find all functions that return a `Vec<T>`.
_Hint:_ Find more tips and keyboard shortcuts by typing `?` on any Rustdoc page!


[LLM policy]: https://forge.rust-lang.org/policies/llm-usage.html
[rustc dev guide]: about-this-guide.md
[gsearchdocs]: https://www.google.com/search?q=site:doc.rust-lang.org+your+query+here
[stddocs]: https://doc.rust-lang.org/std
Expand Down
6 changes: 6 additions & 0 deletions src/contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -517,6 +517,12 @@ This is used for [RFCs], issues, and pull requests.
[rfcbot]: https://github.com/anp/rfcbot-rs/
[RFCs]: https://github.com/rust-lang/rfcs

## LLM policy

See [Forge][LLM policy].

[LLM policy]: https://forge.rust-lang.org/policies/llm-usage.html

## Helpful links and information

This section has moved to the ["About this guide"] chapter.
Expand Down
2 changes: 2 additions & 0 deletions src/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ But avoid using LLM tools that generate long, complex words.
In daily teamwork, **simple and clear words** are best for easy understanding.
Even small typos or grammar mistakes can make you seem more human, and people connect better with humans.

See also [our LLM policy](https://forge.rust-lang.org/policies/llm-usage.html).

### Experts

Not all `t-compiler` members are experts on all parts of `rustc`;
Expand Down
20 changes: 20 additions & 0 deletions src/llm-guidance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Running LLMs

This is a non-binding list of suggestions for working with LLMs.
This is not our moderation policy; see [Forge][LLM policy].

## Review bots

- If a more reliable tool, such as a linter or formatter, already exists for the language you're writing, we strongly suggest using that tool instead of or in addition to the LLM.
- Configure LLM review tools to reduce false positives and excessive focus on trivialities, as these are common, exhausting failure modes.
- Wherever possible, ask an LLM to *generate a linter*, which you then tell it to run.
This both saves on token costs, and allows people who are not using an LLM to run the analysis.
- Note that LLMs sometimes demonstrate a preference for LLM output, particularly output from the same model.

## LLM-authored code

- We recommend, but do not require, using a second LLM for adversarial local review before publishing your changes.
- Mass renames or rewrites should *strongly* prefer using a proper syntax rewrite tool, such as [`ast-grep`].
You may use an LLM for generating the instructions for that tool, but you should be very cautious about performing the rewrite directly with an LLM.

[LLM policy]: https://forge.rust-lang.org/policies/llm-usage.html
Loading