SuperAPI AI 工具集

ts-linter

编程与开发

查看项目

更新于 10-16 07:26

技能介绍

用途:为 TypeScript/JavaScript 项目引入严格的 ESLint 配置,并逐一修复所有 lint 问题,自动能改的自动改,改不了的手工重写,目标是零 lint 错误且功能不变。

核心原则:配置生成后视为冻结,唯一手段是改应用代码;不得通过 eslint-disable、@ts-ignore 或改配置来弱化规则,遇到确实无法修复的情况需上报阻塞项并等待用户决定。

建议先提交:git add -A && git commit -m "checkpoint: before linter setup" 以获得回滚点。

流程:1) 运行 scripts/detect-project.sh 检测项目类型与包管理器;2) 依据 references/eslint-config-reference.mjs 生成 eslint.config.mjs,仅保留与项目相关的分段,核心段必含全局忽略、@eslint/js 与 typescript-eslint recommendedTypeChecked、de-morgan/unicorn/promise/security/sonarjs/regexp、类型感知解析,末尾放 eslint-config-prettier;已是 .eslintrc.* 需迁移到 flat config;3) 用 scripts/generate-install-cmd.sh 生成并执行安装命令,依赖装为 devDependencies;4) 用 npx eslint --print-config 验证配置可加载(退出 0 才继续);5) 分批 eslint --fix;6) 记录修复前基线;7) 按类别手工修复(未用变量、类型安全、废弃 API、Promise、复杂度、行数、React 等),每批最多 5 个文件并复查 tsc 与测试;8) 用 CI 或 package.json 命令验证,循环到全部退出 0,并输出前后对比表;9) 检测到 .claude/ 目录时安装 Claude Code 钩子。

适用:TypeScript/JavaScript 项目,含 monorepo、Turborepo/pnpm workspace 等,只处理 ESLint 相关请求。限制:资料未提供具体价格、支持平台细节与运行时性能数据;不支持的检测信号需省略对应配置段。