Files
bottom/schema
Clement Tsang 40254c24e0 other: fix schema crate interfering with installs (#2109)
This change should fix the issue around `cargo install` being confused by the schema generation binary by just moving it entirely into a separate tool "crate".
2026-06-27 17:44:44 -04:00
..
2026-06-20 09:03:19 +00:00

Config JSON Schema

Generation

These are automatically generated from the code using schemars. The schemars derives are locked behind the generate_schema feature flag to avoid building unnecessary code for normal builds. Meanwhile, the generator itself lives in a separate tools/schema_gen helper crate. You can generate them like so:

# Will print out to stdout
cargo run --manifest-path tools/schema_gen/Cargo.toml

# e.g. for nightly
cargo run --manifest-path tools/schema_gen/Cargo.toml > schema/nightly/bottom.json

# e.g. for a specific version
cargo run --manifest-path tools/schema_gen/Cargo.toml -- 0.12.0 > schema/v0.12.0/bottom.json

Alternatively, run the scripts/schema/generate.sh script (for stable releases) or scripts/schema/nightly.sh (for nightly), which does all of this for you.

Publication

To publish these schemas:

Stable

  1. Run scripts/schema/generate.sh <YOUR_VERSION>.
  2. Make a PR and merge it.
  3. Then, make a PR to schemastore to update the catalog. Here's an example of a PR.

Nightly

  1. Run scripts/schema/nightly.sh.
  2. Make a PR and merge it.