用途:在 megalinter-check 报告错误后,或用户粘贴 MegaLinter/CI lint 错误时,按 linter 键分组修复这些错误。优先处理阻塞型 linter(❌),非阻塞型(⚠️)仅提示用户,除非被要求否则不修。
主要能力:按需加载各失败 linter 的修复指南(linters/<linter_key_lower>.md,索引见 linters/README.md),指南含自动修复支持、配置/忽略文件、规则文档 URL、调优变量与已知非 lint 失败模式。对支持自动修复的 linter,在容器引擎可用时运行 npx mega-linter-runner --linter <KEY> --fix [failing files...](podman 加 --container-engine podman;若 .mega-linter.yml 固定 MEGALINTER_VERSION: beta 则用 npx mega-linter-runner@beta),否则按工具文档手动修复。其余错误按文件逐个手动修复,不确定规则含义时查阅规则文档 URL;指南未覆盖的错误先联网查官方文档或搜索确切错误信息,不猜测修复或抑制语法。
使用方式:若当前分支为默认分支(main/master),先创建分支 git checkout -b megalinter/fix-<topic>。修复后通过 megalinter-check 做定向复查(仅已修复的 linter/文件),最多迭代 3 次,向用户汇总已修复/已禁用(附理由)/剩余项,在工作分支提交,推送前询问,绝不推送到默认分支。若 CI 触发且仓库启用 APPLY_FIXES_MODE: commit,MegaLinter 可能追加 [MegaLinter] Apply linters fixes 提交,需先拉取再继续编辑。
禁用规则:仅在修复不适用(误报、规则与项目风格冲突、linter 不适用)时,按最窄优先顺序处理:行内禁用注释 → linter 配置中的规则排除 → <KEY>_FILTER_REGEX_EXCLUDE → <KEY>_DISABLE_ERRORS: true(非阻塞)→ DISABLE_LINTERS(最后手段)。任何禁用都必须获得用户明确确认。若项目模式 linter 因排除项或配置解析出现异常,可检查控制台日志中的 [Excluded directories] 行,并用 <LINTER_KEY>_FORWARD_EXCLUDED_DIRECTORIES: false 恢复工具原生行为。
优化:若可用子代理且已安装 megalinter-fixer,可为每个失败 linter 并行分派一个 fixer,各自返回修复数、修改文件与未解决列表(可能含 proposed_disable),由主流程汇总并逐项询问用户后应用。作为代理插件安装时定义带命名空间(megalinter:megalinter-fixer 等),作为技能安装则用裸名。无子代理时按顺序内联修复。
限制:具体 linter 覆盖范围、容器引擎要求与版本规则以 megalinter-check 及本技能目录内指南为准;资料未提供各 linter 的完整清单与全部配置细节。