SuperAPI AI 工具集

techdebt

编程与开发

查看项目

更新于 10-15 07:45

技能介绍

用途

techdebt 用于自动检测技术债,设计为在会话结束时运行,趁上下文尚新时发现问题。它通过主代理编排多个并行子代理完成扫描,提升分析速度并避免污染主上下文。

主要能力

  • 重复代码检测:使用 AST 结构相似度(ast-grep)与基于 token 的分析,找出重复代码块。阈值包括 P1:30 行以上在 3 处以上重复;P2:15 行以上在 2 处以上重复;P3:6 行以上在 2 处重复。
  • 安全扫描:检测硬编码密钥、SQL 注入、XSS、不安全加密、路径遍历、eval/exec 使用、弱密码等,并给出严重级别与修复指引。
  • 复杂度检测:基于圈复杂度、函数长度、嵌套深度、参数数量等指标识别热点,并给出重构建议。
  • 死代码检测:查找未使用的导入、变量、不可达代码和孤立函数,并提供安全移除说明。
  • 并行架构:主代理同时启动 4 个子代理分别负责重复、安全、复杂度和死代码扫描,随后合并、去重并按严重程度(P0-P3)排序,生成报告。

使用方式

  • /techdebt:默认扫描自上次提交以来变更的文件(git diff --name-only HEAD)。
  • /techdebt --deep:扫描整个代码库。
  • /techdebt --duplicates、--security、--complexity、--deadcode:仅运行指定类别。
  • /techdebt --fix:交互式自动修复模式。
  • 报告格式:--format=json、--format=markdown(默认)、--format=sarif。
  • 基线追踪:--save-baseline 保存基线,--compare-baseline 与基线比较,基线存储于 .claude/techdebt-baseline.json。
  • 自定义规则:在 .claude/techdebt-rules.json 中配置安全模式和复杂度阈值。

自动修复时,安全问题和复杂度问题不会自动修复(需人工审查),仅对死代码移除和简单重复提取等安全项在用户确认后应用,并展示 git diff 后提示提交。

适用场景

  • 会话结束时快速检查变更中的技术债。
  • 重构或准备重大发布时进行深度扫描。
  • 通过 pre-commit 钩子或 CI/CD(如 GitHub Actions)在提交或 PR 阶段阻止技术债合并。
  • 长期追踪技术债趋势,通过基线对比监控债务增长。

限制

  • Tier 1 完整支持 Python、JavaScript/TypeScript、Go、Rust;Tier 2 对 Java、C#、Ruby、PHP 仅提供基于模式的检测。
  • 若无 ast-grep 等依赖工具,会回退到模式匹配;扫描超时可考虑分块或增大超时。
  • 误报可通过调整阈值或忽略模式缓解。
  • 具体安装命令、价格、平台等资料暂未提供。