mcpField
R
refactor-cleaner

refactor-cleaner

github.com/carvalab开发45 次安装
代码仓库

关于 refactor-cleaner

refactor-cleaner 是一项用于识别和清理死代码、重复代码及未使用导出的开发技能,适合希望安全精简代码库的开发者。它按风险分阶段检查,并要求验证引用、运行测试和记录删除内容。

主要功能

  1. 01按语言选择检测工具
  2. 02按风险分类清理项
  3. 03检查引用与动态导入
  4. 04分批删除并运行测试
  5. 05记录删除内容与影响

适用场景

  1. 01清理未使用的依赖和导出
  2. 02排查不可达代码与未使用文件
  3. 03在删除前评估动态引用风险
  4. 04为重构记录变更并验证构建

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/carvalab/k-skills --skill refactor-cleaner

安装后在 Claude Code 中输入/refactor-cleaner确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
deletion-log.md
detection-tools.md
patterns.md
pr-template.md
safety-checklist.md

详细介绍

重构与死代码清理

识别并移除死代码、重复代码和未使用的导出,让代码库保持精简且易于维护。采用安全优先的方法,并提供全面的文档。

相关技能:

  • kavak-documentation - 查询 Kavak 专属模式,了解哪些代码看起来像死代码,但实际上是通过动态方式使用的
  • 使用 kavak-platform/platform_docs_search MCP 工具,在移除 Kavak SDK/平台代码前进行验证

快速开始

检测项目类型并运行相应的分析:

Node/TypeScript:

npx knip                    # unused exports/files/deps
npx depcheck                # unused dependencies
npx ts-prune                # unused exports

Go:

go mod tidy                 # remove unused deps
deadcode ./...              # find unreachable code (golang.org/x/tools)
staticcheck ./...           # includes unused code detection

Python:

vulture .                   # find dead code
pip-autoremove              # unused dependencies

Java:

./mvnw dependency:analyze   # unused dependencies
# Use IDE or SpotBugs for dead code detection

工作流

1. 分析阶段

运行检测工具并对结果分类:

风险级别示例操作
SAFE未使用的导出、未使用的依赖项grep 确认后移除
CAREFUL可能存在动态导入需要人工审查
RISKY公共 API、共享工具函数不要移除
2. 风险评估

对于每个待移除项:

  • grep 搜索所有引用(包括字符串模式)
  • 检查是否存在动态导入
  • 确认它不属于公共 API
  • 查看 git 历史以了解上下文
3. 安全移除流程
a) Start with SAFE items only
b) Remove one category at a time (this order matters — each step
   may reveal more dead code in the next category):
   1. Unused npm/go dependencies (safest, no code changes)
   2. Unused internal exports (removing these may make files unused)
   3. Unused files (now visible after export cleanup)
   4. Duplicate code (consolidate remaining logic)
c) Run tests after each batch
d) Commit each batch separately
4. 记录删除内容

每次会话后更新 docs/DELETION_LOG.md:

## [YYYY-MM-DD] Refactor Session

### Removed
- package-name - Reason
- src/unused-file.ts - Replaced by X

### Impact
- Files: -15, Deps: -5, Lines: -2,300

安全规则

移除任何内容之前:

  • 运行检测工具
  • grep 搜索所有引用
  • 检查动态导入
  • 运行所有测试
  • 创建备份分支

每次移除后:

  • 构建成功
  • 测试通过
  • 提交更改
  • 更新 DELETION_LOG.md

不适用场景

  • 正在进行功能开发时
  • 即将部署到生产环境时
  • 测试覆盖不足时
  • 对代码不了解时

错误恢复

# Immediate rollback if something breaks
git revert HEAD

# Reinstall deps and verify (by language)
# Node: npm install && npm run build && npm test
# Go:   go mod download && go build ./... && go test ./...
# Python: pip install -r requirements.txt && pytest
# Java: ./mvnw clean install

然后进行调查:是否涉及动态导入/反射?更新“不要移除”列表。

参考资料

参考资料用途
references/detection-tools.md工具命令和用法
references/safety-checklist.md详细的安全流程
references/deletion-log.md日志格式和示例
references/patterns.md常见死代码模式
references/pr-template.md清理工作所用的 PR 模板

评论

支持 Markdown