mcpField
A
auto-type-checking

auto-type-checking

github.com/revitalb-portTesting & quality054 installsUpdated 10w ago
Repository

About auto-type-checking

auto-type-checking is a skill for catching TypeScript errors after edits, either by running a check manually or configuring Cursor Hooks to run it automatically. It also outlines common error categories and fixes.

Key features

  1. 01Manual TypeScript checks with tsc
  2. 02Automatic checks through Cursor Hooks
  3. 03Guidance for common type errors
  4. 04Non-blocking hook configuration

Use cases

  1. 01Checking types after editing TypeScript files
  2. 02Adding automatic checks to Cursor workflows
  3. 03Finding common type issues before builds

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/revitalb-port/skills-registry-demo --skill auto-type-checking

After installing, type/auto-type-checkingin Claude Code to confirm it loaded.

Details

From the project README

Auto Type Checking

Catch type errors immediately after every edit instead of discovering them at build time.

Manual Workflow

After editing a TypeScript file, run:

npx tsc --noEmit 2>&1 | head -30

If errors appear, fix them before moving on.

Automated with Cursor Hooks

Add to .cursor/hooks.json to run automatically after every file edit:

{
  "hooks": [
    {
      "event": "afterFileEdit",
      "script": "check-types.sh",
      "pattern": "**/*.{ts,tsx}"
    }
  ]
}

Create .cursor/hooks/check-types.sh:

#!/bin/bash
# Quick type check — only reports errors, doesn't block
npx tsc --noEmit --pretty 2>&1 | head -20
exit 0  # Don't block the agent even if there are errors
chmod +x .cursor/hooks/check-types.sh

What to Check

When type errors appear:

  1. Missing imports: Cannot find name 'X' → add the import
  2. Type mismatches: Type 'string' is not assignable to type 'number' → fix the type or the value
  3. Missing properties: Property 'x' does not exist on type 'Y' → add the property to the interface or fix the access
  4. Null safety: Object is possibly 'null' → add null check or optional chaining
  5. Generic constraints: Type 'X' does not satisfy the constraint 'Y' → fix the generic parameter

Tips

  • Use --noEmit to type-check without producing output files
  • For large projects, tsc can be slow — consider --incremental or running only on changed files
  • If using path aliases, ensure tsconfig.json paths are configured correctly
  • For monorepos, run tsc from the package root, not the workspace root
  • Pair with grinding-until-pass for a full "fix until clean" loop

Comments

Markdown supported