Skip to content
Open
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
6 changes: 4 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
We'd love to accept your patches and contributions to this project. There are
just a few small guidelines you need to follow.

Make sure you can build the book, and that `mdbook serve` works. Please follow
the [instructions in the README].
Make sure you can build the book with `mdbook build`, that `mdbook serve` works,
and that `dprint fmt` formats the code. Please use `cargo xtask install-tools`
to install the necessary dependencies, following the
[instructions in the README].

[instructions in the README]: README.md#building

Expand Down
5 changes: 4 additions & 1 deletion GEMINI.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ tests, and managing translations.
```bash
cargo xtask install-tools
```
This is a necessary first step for working with this repository. It will
install the correct versions of all tools used by the project.

## Commands

Expand Down Expand Up @@ -73,7 +75,8 @@ list of options.
- **Course Content:** Markdown files in the `src/` directory, structured
according to `src/SUMMARY.md`.
- **Code Formatting:** `dprint fmt` is used to format all source files according
to `rustfmt.toml` and `dprint.json`.
to `rustfmt.toml` and `dprint.json`. Note that you must first install the
project tools with `cargo xtask install-tools`.
- **Contributions:** Refer to `CONTRIBUTING.md` for guidelines on contributing
to the project.
- **Style:** Refer to `STYLE.md` for style guidelines.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,15 +65,15 @@ git clone https://github.com/google/comprehensive-rust/
cd comprehensive-rust
```

Then install these tools with:
Then run the following command to install the correct versions of all tools
mentioned above:

```shell
cargo xtask install-tools
```

> **Note** We use `xtask` for task automation within the project (e.g.
> installing required tools). Xtask is not a package that you should install.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We added this note about not needing to install xtask because of #2803. But it was quite an edge case so might not really be necessary. Just wanted to highlight that so you can decide whether you think its worth retaining.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the reminder! When reading the README, I felt it was drawing too much attention to itself somehow. That is, people can read up on this themselves if they want (or need to), but I don't think we should link to it from here.

I would also like to remove the many links to the tools we use and thus make the README more focused (the tools are a bit of an implementation detail now, thanks to your work on cargo xtask install-tools).

> Visit https://github.com/matklad/cargo-xtask for more information.
This uses `cargo install` to install the tools, so you will find them in your
`~/.cargo/bin/` directory afterwards.

## Commands

Expand Down