CRUX

What CRUX actually does

Nine capabilities. One question they all answer. Which commit changed this behavior.

01

Find the cause

Causal blame
Ask about a behavior and get the commit. Not a build. A behavior.
Minimized diffs
The change shrinks to its essential lines. The real cause survives. The noise does not.
Interaction faults
Two commits pass alone. Merged they break the build. CRUX names the pair.
Ranked honesty
Ambiguous causes come ranked with the evidence for each candidate. You decide the tie.
02

See the whole chain

Dependency-transitive blame
Your code stayed clean. The library under you changed. CRUX blames the library.
Environmental honesty
The config moved. Not the code. CRUX separates the two.
History rewrite proof
Rebases and squashes change nothing. CRUX blames the original commit not the wrapper.
03

Catch it before it ships

Watch mode
Declare golden behaviors. CRUX watches every PR and flags drift with the blame attached.
Prediction
Feed CRUX a PR and it lists which behaviors will change. Before merge. Before breakage.
Reproducible findings
Every report replays in a sealed world. Same input. Same seed. Same output.
04

What CRUX is not

Not a debugger
It answers one question. It will not step through your code.
Not a linter
It does not judge your style. It does not care about your smells.
Not a CI runner
It reads history and behavior. That is the whole job.

One question runs the whole product. Which commit changed this behavior. If a feature does not serve that question it does not ship.

Skip the guess. Get the build.

The CLI ships free forever. Hosted watch mode comes later. Join the list and the first build lands in your inbox.

One email per update. No lists sold. Unsubscribe anytime.

Check your inbox Confirm the link and you are on the list.