用途:面向 Ansible 项目,把“看起来没问题”变成可重复的工具证据,并诚实区分通过、失败、无法验证和 planned。适用于用户要求 lint、格式检查、自动修复、提交前质量验证,或 CI 出现 ansible-lint 相关失败时。
主要能力:识别 Ansible 文件与相关意图;说明当前 Codeguard 支持状态与缺口;为未来接入定义可验证的验收条件。当前状态为 planned(自 Codeguard V0.3),文件无固定扩展名,项目标记为 ansible.cfg、playbook.yml,接入配置以仓库现有配置为准。playbook 检查由 ansible-lint 承接(yaml 通道),语义级检查待集成。
使用方式:先确认仓库根、模块根、生成目录、vendor 目录与用户指定文件;读取仓库现有配置及 CI 中的实际命令,仓库配置优先;运行对应工具 --version 探测版本;执行只读检查 ansible-lint,记录命令、工作目录、退出码、工具版本与首个可操作错误;失败按格式、静态规则、配置、环境、工具内部错误分型;受控修复优先运行 ansible-lint --fix,只处理确定可逆的问题;修复后必须复跑同一 lint 命令,再运行项目已有测试与构建。输出需标明范围、工具、命令、状态(PASS/FAIL/UNVERIFIED/PLANNED)、发现、修改、复验与未验证项。
适用场景:检查或修复 Ansible 代码规范;AI 修改后提交前验证;CI 出现 ansible-lint 失败;判断问题能否自动修复或需人工处理。
限制:不执行不存在的通用 linter 命令;不把扩展名识别写成质量门禁通过;不在没有运行证据时升级支持状态;工具缺失、版本不兼容或配置无法加载均记为无法验证,不是通过;formatter 不能覆盖静态规则或编译错误;不覆盖项目已有 ignore、dialect、target 或版本约束;自动修复前先检查 diff,破坏性或大范围修改须用户明确确认;不联网安装依赖,不收集、上传或存储用户代码与凭据。学习语法、安全审计等任务应改用对应专门技能。