GitHub ↗

How ready is your SDK for AI coding agents?

When a library ships a breaking major, AI assistants keep writing the old API — it looks right, but it doesn't compile against the new version. SDKProof measures exactly how much: it has a model solve real tasks, then type-checks the code against your real installed package.

// no LLM judge — the compiler decides. pass = compiles clean.
The board

Scorecards

Each score is claude-opus-5 across ~10–15 realistic tasks, type-checked against the current package.

Prisma 7
@prisma/client
87/100
Nails the query API and the new $extends — only slips on client construction: v7's required driver adapter and the removed datasourceUrl.
View scorecard →
Next.js 16
next
92/100
Knows the Next 15 async APIs cold — only misses Next 16's new 2-arg revalidateTag().
View scorecard →
Vercel AI SDK 7
ai
100/100
Clean sweep on Opus 5 — now wires tools the v7 way (inputSchema, stopWhen). Was 90 on Opus 4.8.
View scorecard →
Zod 4
zod
100/100
Clean sweep on Opus 5 — the new 2-arg z.record() and the unified error option. Was 90 on Opus 4.8.
View scorecard →
TanStack Query 5
@tanstack/react-query
100/100
Fully absorbed — nails every v4→v5 trap: gcTime, placeholderData, 'pending', initialPageParam.
View scorecard →
What the scores mean

Readiness tracks the drift window

The score isn't about how smart the model is — it's about how recently your SDK changed. TanStack Query v5 (2023) is fully absorbed — a perfect 100. The 2025 majors (Zod, the Vercel AI SDK) are now fully absorbed too, at 100 — Opus 5 closed the gaps Opus 4.8 still had. The freshest releases are where the agent still writes the old API: Next.js 16 misses only its brand-new 2-arg revalidateTag() (92), while Prisma 7's driver-adapter overhaul keeps it at 87.

Right after a major the gap is wide; as models retrain it narrows — then re-opens on your next major and shifts on every model release. It's a moving number, which is why it's worth monitoring, not auditing once.

How it works

Three steps, one honest signal

01

Generate

A model solves ~10–15 realistic tasks for the library. Prompts name the functions, never the option names.

02

Type-check

Each solution is dropped into a project with the real installed package and run through tsc --noEmit.

03

Score

Pass = compiles clean. Failures are the compiler's own diagnostics — hallucinated members, wrong args, removed options.

On the board next

Scoring soon

Score my SDK

Name any TypeScript package & I'll type-check how well AI writes its current API — or run it yourself, it's open source.

★ star to get each new scorecard · the compiler is the judge