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: