用途:为 .NET 仓库提供可重复的 C# 重复代码扫描,服务于 DRY 清理、复制粘贴检测、克隆检测与重复逻辑移除。触发场景包括仓库需要 QuickDup、团队需要可重复的 C# 重复代码扫描,或用户提出相关清理需求。
主要能力:产出具象的项目变更(代码、文档、配置、测试、CI 或评审产物);通过显式规划、验证与最终校验减少歧义;留下可复用的项目上下文。
使用方式:先阅读最近的 AGENTS.md 确认范围与约束,再通过 Ralph Loop 执行工作流。选择扫描目标(整个解决方案或限定文件夹);仅扫描 .cs,除非仓库明确需要 Razor、生成 XML 等扩展名;先排除生成与临时路径(bin/、obj/、Migrations/、.g.cs、.generated.cs、*.Designer.cs);先审查高频模式,再将重复分类为值得抽取的结构重复、表达意图的领域形状重复、可忽略的生成或可接受重复;优先小规模抽取,而非标志繁多的合并方法;重构后重跑 QuickDup 并执行仓库常规质量检查。
安装命令: command -v quickdup go version rg --files -g '.quickdup/ignore.json' -g '.quickdup/results.json' go install github.com/asynkron/Asynkron.QuickDup/cmd/quickdup@latest curl -sSL https://raw.githubusercontent.com/asynkron/Asynkron.QuickDup/main/install.sh | bash iwr -useb https://raw.githubusercontent.com/asynkron/Asynkron.QuickDup/main/install.ps1 | iex quickdup -h 扫描示例: quickdup -path . -ext .cs -exclude "bin/,obj/,.g.cs,.generated.cs,*.Designer.cs" quickdup -path src -ext .cs -top 20 quickdup -path . -ext .cs -select 0..5
限制:不适用于仅格式化工作、已采用其他克隆检测器且不希望重叠的仓库、以生成代码为主导致重复噪声过多的场景。QuickDup 输出应作为评审输入,而非自动重写授权;重复清理须保持行为并由相关测试支撑。参考资料见 references/commands.md、references/examples.md、references/quickdup.md。