hermes agent项目可通过五种方式实现eslint自动修复:命令行全量修复、vs code保存时修复、git提交前预检修复、ide内手动局部修复、配置文件级精细化控制。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您正在开发Hermes Agent模块,但频繁收到ESLint报错且需手动逐行修正,则可能是未启用或未正确配置自动修复能力。以下是针对Hermes Agent项目实现ESLint规则自动修复的多种可行方式:
一、命令行触发全量自动修复
该方式适用于批量处理历史代码或CI/CD流程中强制校验阶段,通过标准ESLint CLI直接执行可修复项,不依赖编辑器环境。
1、确认项目根目录下存在有效的.eslintrc.js或eslint.config.mjs配置文件,且已集成@hermes/eslint-config-agent规则集。
2、在终端中执行命令:npx eslint src/**/*.{js,ts} --fix,该命令将遍历所有源码文件并应用所有支持自动修复的规则。
3、若仅需修复特定类型问题(如仅格式类),运行:npx eslint src/**/*.{js,ts} --fix --fix-type layout,suggestion。
二、VS Code保存时自动修复
该方式面向日常开发,提供即时反馈与零操作成本的修复体验,避免因格式或基础规范问题中断编码节奏。
1、确保已安装官方ESLint扩展(ID: dbaeumer.vscode-eslint)。
2、打开VS Code设置(Ctrl+,),搜索editor.codeActionsOnSave,点击“在settings.json中编辑”。
3、在用户或工作区settings.json中添加如下配置块:
"editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }
4、同时禁用Prettier等其他格式化器冲突:"editor.formatOnSave": false, "prettier.enable": false。
三、Git提交前预检自动修复
该方式嵌入开发流程关键节点,在代码进入版本库前拦截低级错误,保障主干代码符合Hermes Agent统一规范基线。
1、安装husky与lint-staged:npm install husky lint-staged -D。
2、执行npx husky init初始化钩子,并在.husky/pre-commit中写入:npx lint-staged。
3、在package.json中配置lint-staged任务:
"lint-staged": { "src/**/*.{js,ts}": ["eslint --fix", "git add"] }
四、IDE内手动触发局部修复
该方式适用于调试阶段对单个文件或选中代码块进行精准干预,避免全量修复引入非预期变更。
1、在VS Code中打开目标文件,右键选择Source Action…(或使用快捷键Ctrl+Shift+P)。
2、输入Fix all auto-fixable problems并回车,仅当前文件中所有可修复项被处理。
3、如需限制范围,先选中某段代码,再执行相同操作,ESLint将仅对该选区应用修复逻辑。
五、配置文件级修复开关精细化控制
该方式用于团队定制化治理,允许对高风险规则禁用自动修复,同时保留其检测能力,兼顾安全性与效率。
1、在eslint.config.mjs中定位某条规则配置,例如indent:
"indent": ["error", 2, { "SwitchCase": 1, "meta": { "fixable": true } }]
2、对no-console等需人工研判的规则,显式关闭自动修复:
"no-console": ["warn", { "allow": ["warn", "error"], "meta": { "fixable": false } }]
3、验证配置生效:运行npx eslint --print-config src/index.ts,检查目标规则的meta.fixable字段值是否符合预期。











