mcpField
A
auto-type-checking

auto-type-checking

github.com/revitalb-port测试与质量054 次安装10 周前更新
代码仓库

关于 auto-type-checking

auto-type-checking 是一项用于在编辑后发现 TypeScript 错误的技能,可手动运行检查,也可配置 Cursor Hooks 自动执行。它还列出常见错误类型及处理方法。

主要功能

  1. 01使用 tsc 手动检查 TypeScript
  2. 02通过 Cursor Hooks 自动检查
  3. 03常见类型错误的处理指引
  4. 04配置不阻塞工作的钩子

适用场景

  1. 01编辑 TypeScript 文件后检查类型
  2. 02为 Cursor 工作流添加自动检查
  3. 03在构建前发现常见类型问题

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/auto-type-checking确认已加载。

详细介绍

自动类型检查

在每次编辑后立即发现类型错误,而不是等到构建时才发现。

手动工作流

编辑 TypeScript 文件后,运行:

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

如果出现错误,请先修复再继续。

使用 Cursor Hooks 自动检查

将以下内容添加到 .cursor/hooks.json,以便在每次文件编辑后自动运行:

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

创建 .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

检查内容

出现类型错误时:

  1. 缺少导入:Cannot find name 'X' → 添加导入
  2. 类型不匹配:Type 'string' is not assignable to type 'number' → 修正类型或值
  3. 缺少属性:Property 'x' does not exist on type 'Y' → 将属性添加到接口中,或修正访问方式
  4. 空值安全:Object is possibly 'null' → 添加空值检查或可选链
  5. 泛型约束:Type 'X' does not satisfy the constraint 'Y' → 修正泛型参数

提示

  • 使用 --noEmit 执行类型检查而不生成输出文件
  • 对于大型项目,tsc 可能运行缓慢——可考虑使用 --incremental,或仅检查已更改的文件
  • 如果使用路径别名,请确保正确配置 tsconfig.json 中的 paths
  • 对于 monorepo,请从包根目录而非工作区根目录运行 tsc
  • 配合 grinding-until-pass,实现完整的“修复直到无错误”循环

评论

支持 Markdown