Cargo.toml Presets
You can use sketch to define and generate extensible Cargo.toml presets.
When presets are extended, each dependency will also get merged according to the merging rules.
Example
Config:
cargo_toml_presets:
base:
package:
version: "0.1.0"
edition: "2024"
cli-custom:
extends_presets:
- base
- cli-tools
- serde-ordered
package:
name: cli-custom
dependencies:
clap:
features:
- derive
owo-colors:
features:
- supports-colors
cli-tools:
dependencies:
ratatui: "0.29"
clap: "4.5"
serde: "1"
owo-colors: "4"
serde-ordered:
dependencies:
serde:
version: "1"
features:
- preserve_order
indexmap:
version: "2.11"
features:
- serde
Command:
sketch cargo-toml cli-custom
Output:
[package]
name = "cli-custom"
version = "0.1.0"
edition = "2024"
[dependencies]
ratatui = "0.29"
[dependencies.clap]
features = ["derive"]
[dependencies.indexmap]
features = ["serde"]
[dependencies.owo-colors]
features = ["supports-colors"]
[dependencies.serde]
features = ["preserve_order"]