vetd is a warm TypeScript checker for agents. Milliseconds, not minutes.

MCP server, CLI and Node SDK over one engine. Point Claude Code, Cursor or Codex at it and every edit is rechecked against only what it can reach.

$ npm i -D ../vetd @typescript/native-preview

Pre-release: not on npm yet. Install from a local checkout. Setup →

Loading public benchmarks…

Real commits from open-source reposAll results →

A minute with vetd.

vetd mcp — ~/acme/app

Check less. Never check wrong.

  1. 01

    Always warm

    Project graph and tsgo stay in memory. No cold start, no rebuild.

  2. 02

    Follows names, not files

    Change formatPrice. Only its callers get rechecked.

  3. 03

    Asks if the type changed

    New default on a widely used export? If its type is the same, no importer is rechecked.

  4. 04

    Skips text

    JSX copy and comments can't change a type. Zero work.

  5. 05

    Rechecks one function

    The rest of the file keeps its results, shifted to the new lines.

Framework rules TypeScript can't check.

  • next/server-hooksuseState() in a Server Component
  • next/client-envA non-public env var read in client code
  • next/server-actionsA function passed where a Server Action is required
  • next/non-serializable-propsProps that can't cross the server/client boundary
  • next/route-paramsparams.slug that doesn't match the route
  • next/unknown-route<Link href> to a page that doesn't exist
  • next/server-only-in-clientA server-only module pulled into the browser bundle
See every rule

Try it on the app you have open right now.

$ npx vetd init

Node 22.18+ · TypeScript 7 (@typescript/native-preview) · macOS or Linux. Keep your full build in CI.