verify · evaluate
Is it real, and is it healthy?
Downloads, release cadence, open advisories, deprecation flags. We catch the package that does not exist: a name the model produced fluently, spelled the way a real one would be spelled.
lurq serves your agent before it ever installs a single package, so the versions agree and the stack runs when you deploy.
When a request touches packages, lurq resolves the versions from the registry, analyzing compatibility, and reports the clashes. We do this before anything is written to your project.
Upgrade me to TypeScript 7.
I'll bump typescript to 7 and leave the lint setup as it is.
@typescript-eslint/eslint-plugin needs peer typescript@>=4.8.4 <6.1.0, but the stack uses typescript@7.0.2
Left alone, npm refuses the install.
Holding typescript at >=4.8.4 <6.1.0 until the plugin supports 7.0.2.
Upgrading the compiler should be an obvious move for models. The problem is nothing in the editor knows if the other tools have caught up.
One call resolves the versions each package currently supports, with retrieved info refreshed on published upgrades.
@typescript-eslint/eslint-plugin still declares support for >=4.8.4 <6.1.0, so npm refuses to put it next to 7.0.2. You get the version compatible with your stack instead of wasting thirty minutes figuring out why.
New versions mean the old API broke. We record the date their knowledge stops and record how the registry transforms over time. Asking models which version to install returns confident answers but breaking code
Claude Opus 5 stopped learning in may 2026.
Anthropic’s published figure9%
of the packages it knew have broken since may 2026
637
shipped a new major upgrade after may 2026
7,464
packages the index already tracked by then
| Rank | Model believes | Actually on | ||||
|---|---|---|---|---|---|---|
| 01 | @types/node | 25.6.0 | 26.1.1 | +1 | 2 moshipped jun 2026, wrong for 2 months | 382M |
| 02 | which | 6.0.1 | 7.0.0 | +1 | 3 moshipped may 2026, wrong for 3 months | 326M |
| 03 | js-yaml | 4.1.1 | 5.2.1 | +1 | 2 moshipped jun 2026, wrong for 2 months | 288M |
| 04 | typescript | 6.0.3 | 7.0.2 | +1 | 1 moshipped jul 2026, wrong for 1 month | 260M |
| 05 | argparse | 2.0.1 | 3.0.0 | +1 | 1 moshipped jul 2026, wrong for 1 month | 240M |
| 06 | @babel/code-frame | 7.29.0 | 8.0.0 | +1 | 2 moshipped jun 2026, wrong for 2 months | 228M |
| 07 | @babel/types | 7.29.0 | 8.0.4 | +1 | 2 moshipped jun 2026, wrong for 2 months | 212M |
| 08 | @babel/parser | 7.29.3 | 8.0.4 | +1 | 2 moshipped jun 2026, wrong for 2 months | 208M |
Read from lurq's own index on 8 Aug 2026. The may 2026 cutoff is Anthropic's published figure for Claude Opus 5. Totals count only packages the index already tracked by that date, and every number here is measured against it.
verify · evaluate
Downloads, release cadence, open advisories, deprecation flags. We catch the package that does not exist: a name the model produced fluently, spelled the way a real one would be spelled.
compat
Every pair in the set, graded against declared peer ranges and co-installs already in the compatibility matrix.
compat · usage
We check against the runtime you deploy on. Declared engines can range, so stacks can resolve perfectly and still die in production because one node doesn't support the Node you ship.
usage · resolve_surface · diff_surface
Exported symbols and signatures, read out of the version's own shipped .d.ts. We hand the delta to your model: what moved, what went, what is new.
recommend · plan
Describe the project and lurq fills every gap. It's quick because compatible sets are already stored.
Existence and version ranges come straight off the registry. Maintenance is a composite: downloads, release cadence, open issues, the OpenSSF Scorecard. Risk is OSV advisories plus the deprecation flags. The API surface is the odd one out, parsed from each package's shipped types.
npx lurqrun install
key validated
detected Claude Code, Cursor, VS Code
wrote 3 keyed MCP entries
no database credentials written
restart your agent to finish
After lurq asks for your API key, we work out which assistants are installed on the machine and write a keyed entry for each. Nothing else about your setup changes, and you don't need any database credentials.
Something not covered here? Talk to us.
lurq is a dynamic index of JS/TS packages that your coding agent checks before install. We score packages from public signals and verify in sandboxes where necessary. Your agent asks lurq, then writes the code.
Models remember what was popular when they were trained. lurq suggests newer options, flags outdated versions, and hands agents the code they need to craft the strongest stack for you.
Claude Code, Cursor, Windsurf, VS Code / Copilot, Codex, Gemini CLI, Antigravity, Kiro, and anything else that can use a CLI or MCP connection. One install step writes the config file each of those already reads.
Three things, honestly. The API surface index covers 2326 package versions so far, so for most packages the exact-signature answer is not there yet. Sandbox verification runs on a queue rather than on demand, which means a brand new pair may not have been executed when you ask. And the whole index is JS/TS only, with no plans for other ecosystems until this one is solid.
lurq reads metadata: downloads, release dates, advisories. But, lurq also returns info from sandboxed trials. Did the install succeed? Does it import? Do these two versions coexist? We outrace the changelog and the training data.
Because six individually healthy packages can still refuse to install together. Peer ranges conflict, engines disagree, transitive versions collide. lurq mines compatibility from co-installs, so a stack can hold together rather than break later from a simple upgrade.
Every answer carries a dataAsOf timestamp, so you can see exactly how old the reading is.
Yes, free to get started. Create an account, generate an API key, and you get the CLI, the agent connection, and the installable skill with a monthly allowance of hosted calls.
A bug, a package we have scored wrong, a stack you want a second opinion on. There is no ticket queue. It lands in an inbox one of us reads.