SuperAPI AI 工具集

better-typescript

编程与开发

查看项目

更新于 10-15 19:56

技能介绍

用途:Better TypeScript 是给编码智能体使用的 TypeScript linter。它加载 TypeScript Program,运行基于语法和类型的内置规则,包含仅靠语法检查无法表达的语义检查,并返回扁平的可操作违规列表。它不会替代 tsc、ESLint、Prettier,也不格式化代码。

安装:需要 Bun 和已有的 TypeScript 项目,先确认 bun --version 可用,再安装带作用域的 CLI 包:bun add --dev @better-typescript/cli。若添加 better-typescript.config.ts,还要直接声明其导入的 API:bun add --dev @better-typescript/core。注意名为 better-typescript 的无作用域 npm 包是另一个项目,应使用 @better-typescript/cli。

配置:没有 better-typescript.config.ts 的项目会对项目源文件运行全部内置规则。仅当文件范围或规则级别需要不同时才添加配置,从 @better-typescript/core/config 导入 defineConfig,glob 使用相对项目根的正斜杠路径,配置项按顺序生效,后面的覆盖前面的。已配置的项目中每条规则默认禁用,需要用 "": "error" 显式启用规则目录或启用指定规则,条目中的具名设置会覆盖该条目里的 ""。

运行:从项目根运行 bunx better-typescript --project .,省略 --project 则使用当前目录。默认 NDJSON 输出适合智能体使用,stdout 每行一条违规,包含 ruleName、level、message、filePath、line、column。状态文本和项目加载失败写入 stderr。退出码 0 表示分析完成,即使 stdout 含违规;退出码 2 表示运行失败。因此判断是否干净应看 stdout 是否为空,而非只看退出码。仅在需要人类可读渲染时使用 --pretty。

使用方式:把每一行 stdout 解析为一条违规。仅检查的请求报告违规且不要改动源码;修复请求则打开每个被指出的源文件,依据规则名、消息和周围代码选择最小的、保持行为的修复,然后运行项目的格式化、类型检查和测试,再重新运行同一条 Better TypeScript 命令。仅当 stdout 为空时才结束修复,否则报告剩余违规和阻塞点。用户拒绝修复后的代码时,应使用 Better TypeScript 分类处理流程,而不是为干净运行辩护或重新应用被拒绝的改动。

限制与其他配置、价格或更多平台支持信息暂未提供。