SuperAPI AI 工具集

dart-dedupe

通用与其它

查看项目

更新于 10-15 23:45

技能介绍

用途:审计 Dart/Flutter 代码库冗余,识别复制粘贴块,在 PR 中防止重复回归,评估共享工具与抽象候选。基于 pkg:dedupe 对源码做词法分析,可检测完全克隆、结构克隆(--ignore-literals)、参数化克隆(--ignore-identifiers)以及带间隙的近似克隆(--bucket=gapped)。

主要能力:通过 dart run dedupe@^0.1.0 [options] [target_path] 运行。支持全仓库扫描、Git 差异增量扫描(--git-diff=origin/main)、仅报告改动行(--only-changed)、阈值失败(--fail-threshold=5)。常用选项包括 -k/--min-tokens(默认40)、-l/--min-lines(默认4)、--category、--bucket、--top、--exclude、--include、--cache、--format(markdown/json/github/text)、--json-output。

使用方式:先做只读审计并生成 dedupe_triage_report.md,在聊天中展示摘要后再由用户确认重构范围;重构时把共享抽象放在 lib/src/ 下,并覆盖同一集群全部文件。重构前后需运行 dart analyze --fatal-infos 与 flutter test 或 dart test,最后重跑 dedupe 确认克隆消除。

适用场景:重复工具函数、序列化/解析逻辑、CLI 编排、代码生成脚手架等。限制:仅支持 Dart 语法,不处理非 Dart 项目;简单未用变量用 dart analyze,格式化用 dart format;类型不安全的多态 AST、性能关键循环、DAMP 测试样板等属于必要重复,应保留。具体版本与价格信息暂未提供。