Your First broskifile
Goal: keep initial setup simple, then adopt caching where it matters.
Step 1: copy your current command
version = "0.5"
test:
python3 -m unittest
broski run test
Step 2: add contracts only for expensive tasks
version = "0.5"
test:
@in src/**/*.py tests/**/*.py
@out .broski/stamps/test.ok
mkdir -p .broski/stamps
python3 -m unittest
printf 'ok\n' > .broski/stamps/test.ok
broski run test --explain
Step 3: grow only when needed
When you need long-running local workflows, add @mode interactive to that task only. Keep build/test/package tasks in graph mode with @in and @out.
Why this onboarding path works
- immediate value with no extra annotations
- selective caching where time is actually spent
- concrete rerun diagnostics with
--explain