用途 quality-run 用于对 SQL 代码执行按需质量审查,帮助发现常见反模式并按严重级别归类。它属于 CocoPlus 技能体系,需在已初始化的项目目录中运行。
前置条件与参数 运行前需确认当前目录存在 .cocoplus/。若不存在,技能会输出“CocoPlus not initialized in this directory. Run $pod init to begin.”并停止。命令格式为 $quality run [file-path]:提供文件路径时先验证文件存在;不提供参数时,在目录树中查找全部 .sql 文件,但排除 .git/ 和 .cocoplus/。
主要能力:SQL 反模式检测 技能对每个 SQL 文件检查六条规则:QA-001 SELECT (medium,正则 SELECT\s+*);QA-002 UPDATE 或 DELETE 缺少 WHERE(critical,正则 (UPDATE|DELETE FROM)\s+\S+\s$);QA-003 无 LIMIT 的大结果集(low);QA-004 隐式 JOIN 产生笛卡尔积(high,FROM 两表逗号连接且无 WHERE);QA-005 废弃的 OVER ROWS 语法(low,如 ROWS BETWEEN UNBOUNDED PRECEDING);QA-006 硬编码凭据(critical,如 password = '...')。
使用方式与输出 审查完成后生成时间戳,写入 .cocoplus/quality-findings-[timestamp].md,报告包含 Date、Files Analyzed、Findings 汇总,以及 Critical、High、Medium、Low 分节和 Summary。最终输出类似“Quality review complete. [N] findings ([C] critical, [H] high, [M] medium, [L] low). Report: .cocoplus/quality-findings-[timestamp].md.”。
约束与完成标准 技能要求实际执行正则检查而非凭假设报告“无发现”;零发现也必须写报告,作为审计记录;不得扫描 .cocoplus/ 内 SQL 文件。完成标准:报告存在且含日期、文件数与汇总表头;范围内每个 SQL 文件均检查全部六条规则;输出显示按严重级别的发现计数。
适用场景与限制 适合在提交前或审计时快速检查 SQL 文件中的高风险写法,例如缺少 WHERE 的更新删除与硬编码密码。它基于正则匹配,可能产生误报或漏报;仅针对 SQL 反模式,不覆盖其他语言或业务逻辑问题。