Skip to main content

30-Second Quickstart

Goal: run one task, then make reruns explainable.

1) Start with one plain task

version = "0.5"

build:
    cargo build --release
broski run build

This already works like a lightweight Make/Just task.

2) Add @in and @out for caching + safe promotion

version = "0.5"

build:
    @in src/**/*.rs Cargo.toml Cargo.lock
    @out target/release
    cargo build --release

These two contracts enable content-hash fingerprints and transactional output handling for graph tasks.

3) Ask why it ran

broski run build --explain

Typical outcomes:

  • cache hit when nothing changed
  • concrete miss reasons, such as cache miss: input changed: src/main.rs

Next: