用途:对 Haskell 项目执行并诊断代码规范门禁,适用于用户要求 lint、格式检查、自动修复、提交前质量验证,或 CI 出现 hlint . 相关失败时。也用于 AI 修改 .hs、.lhs 后的提交前验证,以及判断某问题能否自动修复或需人工处理。
主要能力:识别 .hs、.lhs 工作区(项目标记 stack.yaml、cabal.project);执行 hlint . 并保留退出码、作用域与工具版本;将失败分为格式、静态规则、配置、环境、工具内部错误五类;用 fourmolu -i . 处理可逆格式问题后复扫;把 lint、format、compile、test、security 证据分层汇报。
使用方式:仓库根确认 stack.yaml、cabal.project 或目标文件存在,探测 hlint --version,先只读执行 hlint . 分类结果,仅对可安全修复项执行 fourmolu -i .,再复跑 lint 并运行项目已有测试与构建。工具准备为 brew install hlint fourmolu。修复前先检查 diff,破坏性或大范围修改须用户明确确认。输出状态用 PASS / FAIL / UNVERIFIED / PLANNED,并列出范围、工具、命令、发现、修改、复验、未验证项。
适用场景:检查或修复 Haskell 代码规范;AI 改动 .hs/.lhs 后的提交前门禁;CI 中 hlint . 失败排查;判断问题可否自动修复。
限制:工具缺失、版本不兼容或配置无法加载记为 UNVERIFIED,而非通过;formatter 通过不等于编译、测试或安全审计通过;不静默安装工具、不升级依赖、不改团队规则、不用 ignore/suppress 掩盖问题;自定义配置以仓库已提交配置为准;生成与 vendor 目录是否扫描须遵循仓库规则,无规则时先排除并说明;HLint 建议不一定语义等价,涉及 strictness 或性能时禁止盲目批量应用;本地通过不代表 CI 会通过,需对齐版本、环境变量、操作系统与命令范围。该技能默认只读本地仓库配置并运行本地工具,不收集上传用户代码和凭据,不联网安装依赖。资料未提供具体版本号、价格与支持平台信息。