SuperAPI AI 工具集

deslop-duplication-audit

测试与质量

查看项目

更新于 10-15 23:45

技能介绍

用途:面向 Dart / Flutter 仓库,检测、审计并安全修复结构性代码重复,借助树结构(tree-sitter)重复检测引擎 Deslop 完成。

主要能力:

  1. 工具链准备:先检查 which deslop,默认用 cargo binstall deslop || cargo install deslop 安装;也可用 mise use -g github:Nimblesite/deslop@latest 或 mise exec -- deslop,或下载预编译平台二进制。
  2. 只读发现扫描:运行内置脚本 dart run skills/deslop-duplication-audit/bin/deslop_report.dart --dir {target_dir} [--top 10],输出 Markdown 摘要;也可用 --report 解析已有 JSON 报告。支持针对 PR / CL 的增量扫描,通过 --diff-cmd(如 "git diff main...HEAD" 或 "jj diff")配合 --only-changed,或使用 --diff-file。扫描保持工作区不被改动。多仓库可用并行子代理并发扫描。
  3. 人类确认门禁:展示发现结果后暂停,确认是否修复、在何处应用(当前分支、新建特性分支或 git worktree),等待明确确认再动手。
  4. 可操作性与必要性判别:仅对复制粘贴的辅助函数、跨平台重复的契约声明、冗余迭代、重复 CLI 编排、代码生成脚手架等执行抽取;对类型不安全的多态 AST 目标、性能敏感的特化循环、独立入口点的推测性包装等判为“拒绝重构”,保持原样并记录技术理由。
  5. 实证测试验证:修改前先运行 dart pub get && dart test 或 flutter test 确认基线;修改后运行 dart analyze --fatal-infos、flutter analyze 及测试,要求零错误、零警告、全部通过,再 git add 暂存并汇报,不擅自提交或推送。
  6. 提交与 PR 溯源:在写入 PR 描述或提交信息前询问是否加入“工具溯源与复现”区块;无头场景默认加入,其中包含 Deslop 版本(通过 deslop --version 获取)与复现命令。

限制:仅面向 Dart 与 Flutter;在受限沙箱中出现预编译重命名异常时可加 --no-precompile;原生 diff 摄入仍为上游功能请求。收费、价格等信息暂未提供。