We got tired of reading
the whole diff to find
the two lines.
Mantish labels every change by what it did to the code — moved, extracted, renamed, modified — so the ones worth thinking about stop hiding behind the ones that aren't.
about, annotated
A diff tells you what changed. Review needs to know what it did — and nothing in a list of changed lines answers that.
Review is an attention problem.
Nothing about a diff tells you where to look. The work of review — deciding what actually deserves thought — happens before you read a single line, and the tool hands you no help with it. So the attention goes where the volume is: the big mechanical change gets read carefully, and the small consequential one gets a scroll.
Mantish does that first part for you. Every change is classified by what it did to the syntax tree rather than by how the text moved, and the kinds you were never going to read fold away until you ask for them. The result is not a shorter diff. It is the same diff, with the noise labelled as noise.
A rename across two hundred lines and a one-line change to a boundary check arrive in the same list, the same colour, sorted by file path.see it work
What the product holds to.
Six commitments the engine has to keep for the rest of it to mean anything.
Analysis runs locally, in every surface. The engine reads the repository you already have on disk; there is no upload step, and no copy of your code on our side.
Change types come from static analysis over the syntax tree, not from a model guessing at intent. The same pair of files produces the same labels every time, and every label traces back to the rule that assigned it.
We are not against AI — we just do not need it here. Working out what a change did is a deterministic problem: the engine parses both sides and matches the trees, so the comparison and every label it produces come from rules, not from a model's reading of your diff. AI enters only where you put it, in a rule you write yourself, and even then the snippet is anonymised locally before it leaves.
Desktop, terminal, JetBrains and VS Code host the same classifier and the same rule set. There is no lite build and no hosted tier that quietly knows more — what differs between them is the shell.
It does not approve, block, or comment on your behalf. It decides what deserves your attention; what the change is worth is still your call, and still your name on the approval.
Every classifier can be muted, spotlighted, or replaced. If our idea of noise is not yours, write your own rule — in C# against the AST, or by describing in plain language what noise means on your team. The plain-language kind needs a model, and it is yours: Claude, OpenAI, or something running on your own machine. We do not ship one and there is no key of ours behind it, so that rule costs what your provider charges and nothing more.
These are constraints, not preferences — local analysis, and a comparison with no model in it, are how the thing is built, not settings that could quietly flip later.every capability, in detail
Mantish launches in 2026.
Join the waitlist for early access, or read what the engine already does to a pull request.
One email when it ships. No drip campaign.