Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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"]