Your build,
always at its best.

Wezel benchmarks the build scenarios your team runs most, on every commit. When something gets slower, the offending change, the delta, and the affected scope surface immediately.

shell
$ curl -fsSL https://wezel.build/install.sh | sh
build duration · seconds live
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? a3f8c1d +12.4s · +26% 32 commits ago now bisection range

From TOML to alert.

  1. 01

    Define a scenario.

    An experiment.toml committed alongside your code declares what Wezel measures.

    .wezel/experiments/workspace-build/experiment.toml toml
    description = "Tracks compile time of the wezel workspace"
    
    # Steps are keyed [step.<tool>.<step_name>].
    # The cargo tool builds your target and emits per-crate timing outcomes.
    [step.cargo.build]
    build_target = "workspace"
    
    # A single outcome can feed multiple summaries — Wezel tracks each independently.
    summary.workspace-build-time = { outcome = "duration.total" }
    summary.slowest-crate-time   = { outcome = "duration.max" }
  2. 02

    Observe a regression.

    The CLI walks the steps, captures outcomes, and compares each summary against the trailing baseline.

    shell
    $ wezel experiment run workspace-build
    → step.cargo.build  ...........  59.7s
    → summary.workspace-build-time   59.7s   (baseline 47.3s · +12.4s · regression)
    → summary.slowest-crate-time      8.4s   (baseline  8.1s · +0.3s)
    done in 59.9s
  3. 03

    Track it in CI.

    Wired into anything that runs per commit — CI, a build server, a cron — Wezel emits the alert the moment a summary drifts past tolerance.

    ⚠ regression detected 2026-05-15
    experiment
    workspace-build
    summary
    workspace-build-time
    commit
    a3f8c1d
    baseline
    47.3s · trailing 30 commits
    current
    59.7s · +12.4s · +26%