The first question is whether it knows your stack.

26 languages and 146 framework spec files, with real syntax trees for most of them and line-level analysis where a grammar is not wired in yet. Pick your language below and you get the honest answer for it: how it is parsed, what it catches, and where the coverage thins out.

Pick yours

Find your language and read what happens to it.

Every entry says how the file is parsed, which framework specs apply, and four things it looks for by name.

TypeScript

Full parse

The deepest coverage in the engine: 83 core patterns plus React/Next.js and testing specs.

159
ANTI-PATTERNS
7
FRAMEWORKS DETECTED
FRAMEWORK SPECS
React + Next.jsVueAngularSvelteExpressTanStack QueryTailwind
WHAT IT CATCHES HERE
floating_promise
un-awaited async call whose failure vanishes
any_leak
any spreading through a typed boundary
catch_rethrow
try/catch that swallows nothing and adds nothing
effect_missing_deps
stale closures in React effects
assistant overlays: claude · cursor · copilot · gemini · windsurf · zed
Where the patterns are

4,808 patterns, and this is how they are distributed.

A total is easy to publish and hard to check, so here is the breakdown behind it, straight from the library. If your work sits mostly in one of these rows, that row is the number that matters to you, not the headline.

DOMAINPATTERNSSPECSWHAT SITS IN IT
Core languages2,39544
Quality & cross-cutting49012
Backend40513
AI / ML SDKs38034
DevOps & infra37810
Web frontend33314
Database & ORM2399
Mobile18810

read from the pattern library at build time · a domain is a group of spec files, not a product tier