[User] Provide a JSON object that satisfies the schema "Ansible Rulebook". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Ansible Rulebook

See https://ansible.readthedocs.io/projects/rulebook/en/stable/rulebooks.html

Provide a JSON object that satisfies the schema "Ansible Rulebook". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$defs":{"CommandDef":{"additionalProperties":false,"properties":{"argnames":{"items":{"type":"string"},"type":"array"},"env":{"items":{"type":"string"},"type":"array"},"if":{"type":"string"},"internal":{"type":"boolean"},"needs":{"items":{"type":"string"},"type":"array"},"run":{"type":"string"},"shell":{"type":"string"},"then":{"items":{"type":"string"},"type":"array"}},"type":"object"},"Config":{"additionalProperties":false,"properties":{"commands":{"additionalProperties":{"$ref":"#/$defs/CommandDef"},"type":"object"},"env":{"items":{"type":"string"},"type":"array"},"shell":{"type":"string"}},"required":["commands"],"type":"object"}},"$id":"https://github.com/simonwhitaker/runny/runny/config","$ref":"#/$defs/Config","$schema":"https://json-schema.org/draft/2020-12/schema"}
</schema>

[User] Provide a JSON object that satisfies the schema "runny.schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.

Provide a JSON object that satisfies the schema "runny.schema". Here are the required top‑level fields: none (all optional). Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-04/schema#","definitions":{"crate":{"type":"object","properties":{"display_name":{"description":"Crate name used for display purposes, without affecting semantics.","title":"Display name","type":"string"},"root_module":{"description":"Path to the root module of the crate.","title":"Root module","type":"string"},"edition":{"description":"Edition of the crate.","title":"Edition","type":"string","enum":["2015","2018","2021"]},"deps":{"description":"Crate dependencies.","title":"Dependencies","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/dep"}},"version":{"description":"The crate's version","title":"Version","type":"string","pattern":"^([0-9]+)\\.([0-9]+)\\.([0-9]+)(?:-([0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*))?(?:\\+[0-9A-Za-z-]+)?$"},"is_workspace_member":{"description":"Whether this crate should be treated as a member of the current \"workspace\".","title":"Is workspace member?","type":"boolean"},"source":{"description":"(Super)set of `.rs` files comprising this crate.","title":"Source","type":"object","properties":{"include_dirs":{"title":"Included directories","type":"array","uniqueItems":true,"items":{"type":"string"}},"exclude_dirs":{"title":"Excluded directories","type":"array","uniqueItems":true,"items":{"type":"string"}}},"required":["include_dirs","exclude_dirs"]},"cfg":{"description":"The set of cfgs activated for a given crate.","title":"Configurations","type":"array","uniqueItems":true,"items":{"type":"string"}},"target":{"description":"Target triple for this crate.","title":"Target","type":"string"},"env":{"description":"Environment variables, used for the `env!` macro","title":"Environment variables","type":"object","patternProperties":{"^.*$":{"type":"string"}},"additionalProperties":false},"is_proc_macro":{"description":"Whether the crate is a proc-macro crate.","title":"Is proc-macro?","type":"boolean"},"proc_macro_dylib_path":{"description":"For proc-macro crates, path to compiled proc-macro (.so file).","title":"Path to compiled proc-macro","type":"string"},"repository":{"description":"URL to the source repository of the crate.","title":"Repository","type":"string"}},"required":["root_module","edition","deps"]},"dep":{"title":"Dependencies","type":"object","properties":{"crate":{"description":"Index of a crate in the `crates` array.","title":"Crate index","type":"integer"},"name":{"description":"Name as should appear in the (implicit) `extern crate name` declaration.","title":"Name","type":"string"}},"required":["crate","name"]}},"id":"https://json.schemastore.org/rust-project.json","properties":{"sysroot":{"description":"Path to sysroot.","title":"Sysroot","type":"string"},"sysroot_src":{"description":"Path to the directory with source code of sysroot crates.","title":"Sysroot source","type":"string"},"crates":{"description":"The set of crates comprising the current project.","title":"Crates","type":"array","uniqueItems":true,"items":{"$ref":"#/definitions/crate"}}},"required":["crates"],"title":"JSON schema for non-Cargo based Rust projects","type":"object"}
</schema>

[User] Provide a JSON object that satisfies the schema "JSON schema for non-Cargo based Rust projects". Here are the required top‑level fields: crates. Return only the valid JSON object.

Crate name used for display purposes, without affecting semantics.

Display name

Path to the root module of the crate.

Root module

Edition of the crate.

Edition

Crate dependencies.

Dependencies

The crate's version

Version

Whether this crate should be treated as a member of the current "workspace".

Is workspace member?

(Super)set of `.rs` files comprising this crate.

Source

Included directories

Excluded directories

The set of cfgs activated for a given crate.

Configurations

Target triple for this crate.

Target

Environment variables, used for the `env!` macro

Environment variables

Whether the crate is a proc-macro crate.

Is proc-macro?

For proc-macro crates, path to compiled proc-macro (.so file).

Path to compiled proc-macro

URL to the source repository of the crate.

Repository

Dependencies

Index of a crate in the `crates` array.

Crate index

Name as should appear in the (implicit) `extern crate name` declaration.

Name

Path to sysroot.

Sysroot

Path to the directory with source code of sysroot crates.

Sysroot source

The set of crates comprising the current project.

Crates

Provide a JSON object that satisfies the schema "JSON schema for non-Cargo based Rust projects". Here are the required top‑level fields: crates. Return only the valid JSON object.


[System]
You are a helpful assistant that answers strictly in JSON. Here's the JSON schema you must adhere to:
<schema>
{"$schema":"http://json-schema.org/draft-07/schema#","$id":"https://json.schemastore.org/rust-toolchain.json","description":"https://rust-lang.github.io/rustup/overrides.html#the-toolchain-file","properties":{"toolchain":{"description":"A `toolchain` is a complete installation of the Rust compiler (`rustc`) and related tools (like `cargo`). A toolchain specification includes the release channel or version, and the host platform that the toolchain runs on.\n\n Get more from [`Toolchains`](https://rust-lang.github.io/rustup/concepts/toolchains.html)","type":"object","minProperties":1,"properties":{"channel":{"description":"`channel` is a named release channel, a major and minor version number such as `1.42`, or a fully specified version number, such as `1.42.0`. Channel names can be optionally appended with an archive date, as in `nightly-2014-12-18`, in which case the toolchain is downloaded from the archive for that date. Get more from [`Toolchain specification`](https://rust-lang.github.io/rustup/concepts/toolchains.html).\n\nOther valid channel like `stable`,`1.63`,`1.63.0`,`nightly-2022-09-20`,`stable-x86_64-pc-windows-msvc`,`1.63.0-riscv64gc-unknown-linux-gnu`,`nightly-2022-09-20-x86_64-unknown-nux-gnu`","type":"string","pattern":"^(?:stable|beta|nightly|\\d+(?:\\.\\d+){1,2})(?:-\\d{4}(?:-\\d{2}){2})?(?:-\\D[^-]*(?:(?:-(?:[^-]+)){1,3}))?$","examples":["stable","1.63","1.63.0","nightly-2022-09-20","stable-x86_64-pc-windows-msvc","1.63.0-riscv64gc-unknown-linux-gnu","nightly-2022-09-20-x86_64-unknown-linux-gnu"],"x-taplo":{"links":{"key":"https://rust-lang.github.io/rustup/concepts/channels.html"}}},"components":{"description":"Each release of Rust includes several \"components\", some of\nwhich are required (like `rustc`) and some that are optional (like [`clippy`](https://github.com/rust-lang/rust-clippy)) \n\n Learn more from [`Components`](https://rust-lang.github.io/rustup/concepts/components.html)","type":"array","items":{"anyOf":[{"type":"string","enum":["rustc","cargo","rustfmt","rust-std","rust-docs","rls","clippy","miri","rust-src","rust","rust-analysis","llvm-tools","rustc-docs","rustc-dev","rust-analyzer","reproducible-artifacts","rust-docs-json"]},{"type":"string","minLength":1}],"x-taplo":{"docs":{"enumValues":["The Rust compiler and [Rustdoc].\n\n[rustdoc]: https://doc.rust-lang.org/rustdoc/","[Cargo] is a package manager and build tool.\n\n[cargo]: https://doc.rust-lang.org/cargo/","[Rustfmt] is a tool for automatically formatting code.\n\n[rustfmt]: https://github.com/rust-lang/rustfmt","This is the Rust [standard library]. There is a separate\n  `rust-std` component for each target that `rustc` supports, such as\n  `rust-std-x86_64-pc-windows-msvc`. See the [Cross-compilation] chapter for\n  more detail.\n\n[standard library]: https://doc.rust-lang.org/std/\n[cross-compilation]: .https://rust-lang.github.io/rustup/cross-compilation.html","This is a local copy of the [Rust documentation]. Use the\n  `rustup doc` command to open the documentation in a web browser. Run `rustup\n  doc --help` for more options.\n\n[rust documentation]: https://doc.rust-lang.org/","[RLS] is a language server that provides support for editors and\n  IDEs.\n\n[RLS]: https://github.com/rust-lang/rls","[Clippy] is a lint tool that provides extra checks for common\n  mistakes and stylistic choices.\n\n[clippy]: https://github.com/rust-lang/rust-clippy","[Miri] is an experimental Rust interpreter, which can be used for\n  checking for undefined-behavior.\n\n[miri]: https://github.com/rust-lang/miri/","This is a local copy of the source code of the Rust standard\n  library. This can be used by some tools, such as [RLS], to provide\n  auto-completion for functions within the standard library; [Miri] which is a\n  Rust interpreter; and Cargo's experimental [build-std] feature, which allows\n  you to rebuild the standard library locally.\n\n[RLS]: https://github.com/rust-lang/rls\n[miri]: https://github.com/rust-lang/miri/\n[build-std]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-std","Metadata about the standard library, used by tools like\n  [RLS].\n\n[RLS]: https://github.com/rust-lang/rls","This contains a linker and platform libraries for building on\n  the `x86_64-pc-windows-gnu` platform.","This is an experimental component which contains a\n  collection of [LLVM] tools.\n\n[LLVM]: https://llvm.org/","This component contains the compiler as a library. Most users\n  will not need this; it is only needed for development *of* tools that link\n  to the compiler, such as making modifications to [Clippy].\n\n[clippy]: https://github.com/rust-lang/rust-clippy"]}}},"x-taplo":{"links":{"key":"https://rust-lang.github.io/rustup/concepts/components.html"}}},"targets":{"description":"`rustc` is capable of generating code for many platforms. The `target` specifies the platform that the code will be generated for. By default, `cargo` and `rustc` use the host toolchain's platform as the target. To build for a different `target`, usually the target's standard library needs to be installed first via the `rustup target` command. Or you can run `rustc --print target-list` to list [`\"built-in\" targets`](https://doc.rust-lang.org/rustc/targets/built-in.html) \n\n Get more from [`Platform Support`](https://doc.rust-lang.org/rustc/platform-support.html) and [`Targets`](https://doc.rust-lang.org/rustc/targets/index.html)","type":"array","items":{"$comment":"From `rustc +nightly --print target-list` or targets listed in https://doc.rust-lang.org/rustc/platform-support.html or https://github.com/rust-lang/rust/blob/master/src/doc/rustc/src/platform-support.md","anyOf":[{"type":"string","enum":["aarch64-unknown-linux-gnu","aarch64-apple-darwin","i686-pc-windows-gnu","i686-pc-windows-msvc","i686-unknown-linux-gnu","x86_64-apple-darwin","x86_64-pc-windows-gnu","x86_64-pc-windows-msvc","x86_64-unknown-linux-gnu","aarch64-pc-windows-msvc","aarch64-unknown-linux-musl","arm-unknown-linux-gnueabi","arm-unknown-linux-gnueabihf","armv7-unknown-linux-gnueabihf","loongarch64-unknown-linux-gnu","loongarch64-unknown-linux-musl","powerpc-unknown-linux-gnu","powerpc64-unknown-linux-gnu","powerpc64le-unknown-linux-gnu","riscv64gc-unknown-linux-gnu","riscv64gc-unknown-linux-musl","s390x-unknown-linux-gnu","x86_64-unknown-freebsd","x86_64-unknown-illumos","x86_64-unknown-linux-musl","x86_64-unknown-netbsd","aarch64-apple-ios","aarch64-apple-ios-macabi","aarch64-apple-ios-sim","aarch64-fuchsia","aarch64-unknown-fuchsia","aarch64-linux-android","aarch64-pc-windows-gnullvm","aarch64-unknown-linux-ohos","aarch64-unknown-none-softfloat","aarch64-unknown-none","aarch64-unknown-uefi","arm-linux-androideabi","arm-unknown-linux-musleabi","arm-unknown-linux-musleabihf","arm64ec-pc-windows-msvc","armebv7r-none-eabi","armebv7r-none-eabihf","armv5te-unknown-linux-gnueabi","armv5te-unknown-linux-musleabi","armv7-linux-androideabi","armv7-unknown-linux-gnueabi","armv7-unknown-linux-musleabi","armv7-unknown-linux-musleabihf","armv7-unknown-linux-ohos","armv7a-none-eabi","armv7r-none-eabi","armv7r-none-eabihf","i586-pc-windows-msvc","i586-unknown-linux-gnu","i586-unknown-linux-musl","i686-linux-android","i686-pc-windows-gnullvm","i686-unknown-freebsd","i686-unknown-linux-musl","i686-unknown-uefi","loongarch64-unknown-none","loongarch64-unknown-none-softfloat","nvptx64-nvidia-cuda","riscv32imac-unknown-none-elf","riscv32i-unknown-none-elf","riscv32im-unknown-none-elf","riscv32imc-unknown-none-elf","riscv32imafc-unknown-none-elf","riscv64gc-unknown-none-elf","riscv64imac-unknown-none-elf","sparc64-unknown-linux-gnu","sparcv9-sun-solaris","thumbv6m-none-eabi","thumbv7em-none-eabi","thumbv7em-none-eabihf","thumbv7m-none-eabi","thumbv7neon-linux-androideabi","thumbv7neon-unknown-linux-gnueabihf","thumbv8m.base-none-eabi","thumbv8m.main-none-eabi","thumbv8m.main-none-eabihf","wasm32-unknown-emscripten","wasm32-unknown-unknown","wasm32-wasi","wasm32-wasip1","wasm32-wasip1-threads","x86_64-apple-ios","x86_64-apple-ios-macabi","x86_64-fortanix-unknown-sgx","x86_64-fuchsia","x86_64-unknown-fuchsia","x86_64-linux-android","x86_64-pc-solaris","x86_64-pc-windows-gnullvm","x86_64-unknown-linux-gnux32","x86_64-unknown-linux-ohos","x86_64-unknown-none","x86_64-unknown-redox","x86_64-unknown-uefi","arm64e-apple-ios","arm64e-apple-darwin","aarch64-apple-tvos","aarch64-apple-tvos-sim","aarch64-apple-watchos","aarch64-apple-watchos-sim","aarch64-apple-visionos","aarch64-apple-visionos-sim","aarch64-kmc-solid_asp3","aarch64-nintendo-switch-freestanding","aarch64-unknown-teeos","aarch64-unknown-nto-qnx700","aarch64-unknown-nto-qnx710","aarch64-unknown-freebsd","aarch64-unknown-hermit","aarch64-unknown-illumos","aarch64-unknown-linux-gnu_ilp32","aarch64-unknown-netbsd","aarch64-unknown-openbsd","aarch64-unknown-redox","aarch64-unknown-trusty","aarch64-uwp-windows-msvc","aarch64-wrs-vxworks","aarch64_be-unknown-linux-gnu_ilp32","aarch64_be-unknown-linux-gnu","aarch64_be-unknown-netbsd","arm64_32-apple-watchos","armeb-unknown-linux-gnueabi","armv4t-none-eabi","armv4t-unknown-linux-gnueabi","armv5te-none-eabi","armv5te-unknown-linux-uclibceabi","armv6-unknown-freebsd","armv6-unknown-netbsd-eabihf","armv6k-nintendo-3ds","armv7-rtems-eabihf","armv7-sony-vita-newlibeabihf","armv7-unknown-linux-uclibceabi","armv7-unknown-linux-uclibceabihf","armv7-unknown-freebsd","armv7-unknown-netbsd-eabihf","armv7-unknown-trusty","armv7-wrs-vxworks-eabihf","armv7a-kmc-solid_asp3-eabi","armv7a-kmc-solid_asp3-eabihf","armv7a-none-eabihf","armv7k-apple-watchos","armv7s-apple-ios","armv8r-none-eabihf","avr-unknown-gnu-atmega328","bpfeb-unknown-none","bpfel-unknown-none","csky-unknown-linux-gnuabiv2","csky-unknown-linux-gnuabiv2hf","hexagon-unknown-none-elf","hexagon-unknown-linux-musl","i386-apple-ios","i586-pc-nto-qnx700","i586-unknown-netbsd","i686-apple-darwin","i686-unknown-haiku","i686-unknown-hurd-gnu","i686-unknown-netbsd","i686-unknown-openbsd","i686-unknown-redox","i686-uwp-windows-gnu","i686-uwp-windows-msvc","i686-win7-windows-msvc","i686-wrs-vxworks","m68k-unknown-linux-gnu","mips-unknown-linux-gnu","mips-unknown-linux-musl","mips-unknown-linux-uclibc","mips64-openwrt-linux-musl","mips64-unknown-linux-gnuabi64","mips64-unknown-linux-muslabi64","mips64el-unknown-linux-gnuabi64","mips64el-unknown-linux-muslabi64","mipsel-unknown-linux-gnu","mipsel-unknown-linux-musl","mipsel-unknown-netbsd","mipsel-sony-psp","mipsel-sony-psx","mipsel-unknown-linux-uclibc","mipsel-unknown-none","mipsisa32r6-unknown-linux-gnu","mipsisa32r6el-unknown-linux-gnu","mipsisa64r6-unknown-linux-gnuabi64","mipsisa64r6el-unknown-linux-gnuabi64","msp430-none-elf","powerpc-unknown-linux-gnuspe","powerpc-unknown-linux-musl","powerpc-unknown-linux-muslspe","powerpc-unknown-netbsd","powerpc-unknown-openbsd","powerpc-wrs-vxworks-spe","powerpc-wrs-vxworks","powerpc64-unknown-freebsd","powerpc64le-unknown-freebsd","powerpc-unknown-freebsd","powerpc64-unknown-linux-musl","powerpc64-wrs-vxworks","powerpc64le-unknown-linux-musl","powerpc64-unknown-openbsd","powerpc64-ibm-aix","riscv32gc-unknown-linux-gnu","riscv32gc-unknown-linux-musl","riscv32im-risc0-zkvm-elf","riscv32ima-unknown-none-elf","riscv32imac-unknown-xous-elf","riscv32imc-esp-espidf","riscv32imac-esp-espidf","riscv32imafc-esp-espidf","riscv64gc-unknown-hermit","riscv64gc-unknown-freebsd","riscv64gc-unknown-fuchsia","riscv64gc-unknown-netbsd","riscv64gc-unknown-openbsd","riscv64-linux-android","s390x-unknown-linux-musl","sparc-unknown-linux-gnu","sparc-unknown-none-elf","sparc64-unknown-netbsd","sparc64-unknown-openbsd","thumbv4t-none-eabi","thumbv5te-none-eabi","thumbv7a-pc-windows-msvc","thumbv7a-uwp-windows-msvc","thumbv7neon-unknown-linux-musleabihf","wasm32-wasip2","wasm64-unknown-unknown","x86_64-apple-tvos","x86_64-apple-watchos-sim","x86_64-pc-nto-qnx710","x86_64-unikraft-linux-musl","x86_64-unknown-dragonfly","x86_64-unknown-haiku","x86_64-unknown-hurd-gnu","x86_64-unknown-hermit","x86_64-unknown-l4re-uclibc","x86_64-unknown-openbsd","x86_64-uwp-windows-gnu","x86_64-uwp-windows-msvc","x86_64-win7-windows-msvc","x86_64-wrs-vxworks","x86_64h-apple-darwin","x86_64-unknown-linux-none","xtensa-esp32-none-elf","xtensa-esp32-espidf","xtensa-esp32s2-none-elf","xtensa-esp32s2-espidf","xtensa-esp32s3-none-elf","xtensa-esp32s3-espidf","thumbv6m-nuttx-eabi","thumbv7m-nuttx-eabi","thumbv7em-nuttx-eabi","thumbv7em-nuttx-eabihf","thumbv8m.base-nuttx-eabi","thumbv8m.main-nuttx-eabi","thumbv8m.main-nuttx-eabihf","riscv32imc-unknown-nuttx-elf","riscv32imac-unknown-nuttx-elf","riscv32imafc-unknown-nuttx-elf","riscv64imac-unknown-nuttx-elf","riscv64gc-unknown-nuttx-elf"]},{"type":"string","minLength":1}]},"x-taplo":{"links":{"key":"https://rust-lang.github.io/rustup/cross-compilation.html"}}},"profile":{"description":"[`Profiles`](https://rust-lang.github.io/rustup/concepts/profiles.html) are groups of [`components`](https://rust-lang.github.io/rustup/concepts/components.html) you can choose to download while installing a new Rust [`toolchain`](https://rust-lang.github.io/rustup/concepts/toolchains.html).\n\n The `profiles` available at this time are `minimal`, `default`, and `complete`.","type":"string","default":"default","enum":["minimal","default","complete"],"x-taplo":{"links":{"key":"https://rust-lang.github.io/rustup/concepts/profiles.html"},"docs":{"enumValues":["This profile includes as few components as possible to get a\nworking compiler (`rustc`, `rust-std`, and `cargo`). It's recommended to use\nthis component on Windows systems if you don't use local documentation (the\nlarge number of files can cause issues with some Antivirus systems), and in\nCI.","This profile includes all of components in the **minimal**\nprofile, and adds `rust-docs`, `rustfmt`, and `clippy`. This profile will be\nused by `rustup` by default, and it's the one recommended for general use.","This profile includes all the components available through\n`rustup`. This should never be used, as it includes *every* component ever\nincluded in the metadata and thus will almost always fail. If you are\nlooking for a way to install devtools such as `miri` or IDE integration\ntools (`rls`), you should use the `default` profile and\ninstall the needed additional components manually, either by using `rustup\ncomponent add` or by using `-c` when installing the toolchain."]}}},"path":{"type":"string","description":"Path to a custom local toolchain. Since a `path` directive directly names a local toolchain, other options\nlike `components`, `targets`, and `profile` have no effect. `channel`\nand `path` are mutually exclusive, since a `path` already points to a\nspecific toolchain. A relative `path` is resolved relative to the\nlocation of the `rust-toolchain.toml` file.\n\n Learn more from [`Custom toolchains`](https://rust-lang.github.io/rustup/concepts/toolchains.html#custom-toolchains)"}},"oneOf":[{"not":{"properties":{"path":{"type":"string"}},"required":["path"]}},{"required":["path"]}],"dependencies":{"path":{"not":{"properties":{"channel":{"type":"string"}},"required":["channel"]}},"channel":{"not":{"properties":{"path":{"type":"string"}},"required":["path"]}},"profile":{"anyOf":[{"properties":{"channel":{"type":"string"}},"required":["channel"]},{"properties":{"components":{"type":"array"}},"required":["components"]},{"properties":{"targets":{"type":"array"}},"required":["targets"]}]}},"x-taplo":{"links":{"key":"https://rust-lang.github.io/rustup/concepts/toolchains.html"},"initKeys":["channel"]}}},"required":["toolchain"],"title":"Schema for rust-toolchain.toml","type":"object","x-taplo-info":{"authors":["ian-h-chamberlain (https://github.com/ian-h-chamberlain)"],"patterns":["^(.*(/|\\\\)rust-toolchain([.]toml)?)$"]}}
</schema>

[User] Provide a JSON object that satisfies the schema "Schema for rust-toolchain.toml". Here are the required top‑level fields: toolchain. Return only the valid JSON object.

A `toolchain` is a complete installation of the Rust compiler (`rustc`) and related tools (like `cargo`). A toolchain specification includes the release channel or version, and the host platform that the toolchain runs on.

 Get more from [`Toolchains`](https://rust-lang.github.io/rustup/concepts/toolchains.html)

`channel` is a named release channel, a major and minor version number such as `1.42`, or a fully specified version number, such as `1.42.0`. Channel names can be optionally appended with an archive date, as in `nightly-2014-12-18`, in which case the toolchain is downloaded from the archive for that date. Get more from [`Toolchain specification`](https://rust-lang.github.io/rustup/concepts/toolchains.html).

Other valid channel like `stable`,`1.63`,`1.63.0`,`nightly-2022-09-20`,`stable-x86_64-pc-windows-msvc`,`1.63.0-riscv64gc-unknown-linux-gnu`,`nightly-2022-09-20-x86_64-unknown-nux-gnu`

Each release of Rust includes several "components", some of
which are required (like `rustc`) and some that are optional (like [`clippy`](https://github.com/rust-lang/rust-clippy))

 Learn more from [`Components`](https://rust-lang.github.io/rustup/concepts/components.html)

rustc cargo rustfmt rust-std rust-docs rls clippy miri rust-src rust rust-analysis llvm-tools rustc-docs rustc-dev rust-analyzer reproducible-artifacts rust-docs-json

The Rust compiler and [Rustdoc].

[rustdoc]: https://doc.rust-lang.org/rustdoc/

[Cargo] is a package manager and build tool.

[cargo]: https://doc.rust-lang.org/cargo/

[Rustfmt] is a tool for automatically formatting code.

[rustfmt]: https://github.com/rust-lang/rustfmt

This is the Rust [standard library]. There is a separate
  `rust-std` component for each target that `rustc` supports, such as
  `rust-std-x86_64-pc-windows-msvc`. See the [Cross-compilation] chapter for
  more detail.

[standard library]: https://doc.rust-lang.org/std/
[cross-compilation]: .https://rust-lang.github.io/rustup/cross-compilation.html

This is a local copy of the [Rust documentation]. Use the
  `rustup doc` command to open the documentation in a web browser. Run `rustup
  doc --help` for more options.

[rust documentation]: https://doc.rust-lang.org/

[RLS] is a language server that provides support for editors and
  IDEs.

[RLS]: https://github.com/rust-lang/rls

[Clippy] is a lint tool that provides extra checks for common
  mistakes and stylistic choices.

[clippy]: https://github.com/rust-lang/rust-clippy

[Miri] is an experimental Rust interpreter, which can be used for
  checking for undefined-behavior.

[miri]: https://github.com/rust-lang/miri/

This is a local copy of the source code of the Rust standard
  library. This can be used by some tools, such as [RLS], to provide
  auto-completion for functions within the standard library; [Miri] which is a
  Rust interpreter; and Cargo's experimental [build-std] feature, which allows
  you to rebuild the standard library locally.

[RLS]: https://github.com/rust-lang/rls
[miri]: https://github.com/rust-lang/miri/
[build-std]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#build-std

Metadata about the standard library, used by tools like
  [RLS].

[RLS]: https://github.com/rust-lang/rls

This contains a linker and platform libraries for building on
  the `x86_64-pc-windows-gnu` platform.

This is an experimental component which contains a
  collection of [LLVM] tools.

[LLVM]: https://llvm.org/

This component contains the compiler as a library. Most users
  will not need this; it is only needed for development *of* tools that link
  to the compiler, such as making modifications to [Clippy].

[clippy]: https://github.com/rust-lang/rust-clippy

`rustc` is capable of generating code for many platforms. The `target` specifies the platform that the code will be generated for. By default, `cargo` and `rustc` use the host toolchain's platform as the target. To build for a different `target`, usually the target's standard library needs to be installed first via the `rustup target` command. Or you can run `rustc --print target-list` to list [`"built-in" targets`](https://doc.rust-lang.org/rustc/targets/built-in.html)

 Get more from [`Platform Support`](https://doc.rust-lang.org/rustc/platform-support.html) and [`Targets`](https://doc.rust-lang.org/rustc/targets/index.html)

From `rustc +nightly --print target-list` or targets listed in https://doc.rust-lang.org/rustc/platform-support.html or https://github.com/rust-lang/rust/blob/master/src/doc/rustc/src/platform-support.md

[`Profiles`](https://rust-lang.github.io/rustup/concepts/profiles.html) are groups of [`components`](https://rust-lang.github.io/rustup/concepts/components.html) you can choose to download while installing a new Rust [`toolchain`](https://rust-lang.github.io/rustup/concepts/toolchains.html).

 The `profiles` available at this time are `minimal`, `default`, and `complete`.

This profile includes as few components as possible to get a
working compiler (`rustc`, `rust-std`, and `cargo`). It's recommended to use
this component on Windows systems if you don't use local documentation (the
large number of files can cause issues with some Antivirus systems), and in
CI.

This profile includes all of components in the **minimal**
profile, and adds `rust-docs`, `rustfmt`, and `clippy`. This profile will be
used by `rustup` by default, and it's the one recommended for general use.

This profile includes all the components available through
`rustup`. This should never be used, as it includes *every* component ever
included in the metadata and thus will almost always fail. If you are
looking for a way to install devtools such as `miri` or IDE integration
tools (`rls`), you should use the `default` profile and
install the needed additional components manually, either by using `rustup
component add` or by using `-c` when installing the toolchain.

Path to a custom local toolchain. Since a `path` directive directly names a local toolchain, other options
like `components`, `targets`, and `profile` have no effect. `channel`
and `path` are mutually exclusive, since a `path` already points to a
specific toolchain. A relative `path` is resolved relative to the
location of the `rust-toolchain.toml` file.

 Learn more from [`Custom toolchains`](https://rust-lang.github.io/rustup/concepts/toolchains.html#custom-toolchains)

Schema for rust-toolchain.toml

Provide a JSON object that satisfies the schema "Schema for rust-toolchain.toml". Here are the required top‑level fields: toolchain. Return only the valid JSON object.