关于 configure-dead-code
用于设置和审查死代码检测的项目配置技能。它根据项目语言选择 Knip、Vulture 或 cargo-machete,并可添加工具配置和 CI 检查。
主要功能
- 01检测语言和死代码工具
- 02审查工具配置
- 03设置工具配置与脚本
- 04添加非阻断式 CI 检查
- 05支持仅检查和自动修复
适用场景
- 01为新项目配置死代码检查
- 02审查 Knip、Vulture 或 cargo-machete 设置
- 03将死代码检测加入 CI
- 04在单体仓库中统一检查方式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ laurigates/ claude-plugins --skill configure-dead-code安装后在 Claude Code 中输入/configure-dead-code确认已加载。
附带文件REFERENCE.md
详细介绍
/configure:dead-code
检查并配置死代码检测工具。
何时使用此技能
| 在以下情况下使用此技能…… | 在以下情况下采用其他方法…… |
|---|---|
| 为新项目设置死代码检测 | 运行现有的死代码扫描(knip、vulture) |
| 审核 Knip、Vulture 或 cargo-machete 是否配置正确 | 手动移除特定的未使用导出或导入 |
| 在死代码检测工具之间迁移 | 调试某个文件为何被标记为未使用 |
| 将死代码检查添加到 CI/CD 工作流 | 逐项检查死代码检测结果 |
| 在单体仓库中统一死代码检测 | 配置 lint 规则(改用 /configure:linting) |
上下文
- 项目根目录:!
pwd - 包文件:!
find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' \) - Knip 配置:!
find . -maxdepth 1 \( -name 'knip.json' -o -name 'knip.config.*' \) - Vulture 配置:!
find . -maxdepth 1 \( -name '.vulture' -o -name 'vulture.ini' \) - Pre-commit:!
find . -maxdepth 1 -name '.pre-commit-config.yaml' - 项目规范:!
find . -maxdepth 1 -name '.project-standards.yaml'
参数
从命令参数中解析:
--check-only:报告合规状态,不做修改(CI/CD 模式)--fix:自动应用修复,不提示确认--tool <knip|vulture|deadcode|machete>:覆盖工具检测结果
死代码检测工具:
- JavaScript/TypeScript:Knip(查找未使用的文件、导出和依赖项)
- Python:Vulture 或 deadcode(查找未使用的代码)
- Rust:cargo-machete(查找未使用的依赖项)
执行
执行此死代码检测合规性检查:
第 1 步:检测项目语言和现有工具
检查语言和工具标识:
| 标识 | 语言 | 工具 |
|---|---|---|
knip.json 或 knip.config.* | JavaScript/TypeScript | Knip |
含 knip 的 package.json | JavaScript/TypeScript | Knip |
pyproject.toml [tool.vulture] | Python | Vulture |
.vulture 或 vulture.ini | Python | Vulture |
Cargo.toml | Rust | cargo-machete |
配置前,使用 WebSearch 或 WebFetch 验证最新版本。
第 2 步:分析当前配置
针对检测到的工具,检查配置是否完整:
Knip:
- 配置文件存在(
knip.json或knip.config.*) - 已配置入口点
- 已设置忽略模式
- 插件配置
- 工作区支持(单体仓库)
- CI 集成
Vulture:
- 配置文件存在
- 已设置最低置信度
- 已配置路径
- 忽略模式
- 白名单文件(如需要)
cargo-machete:
- 已安装为 cargo 子命令
- 工作区配置
- CI 集成
第 3 步:生成合规报告
打印格式化的合规报告:
Dead Code Detection Compliance Report
======================================
Project: [name]
Language: [TypeScript | Python | Rust]
Tool: [Knip 5.x | Vulture 2.x | cargo-machete 0.6.x]
Configuration:
Config file knip.json [EXISTS | MISSING]
Entry points configured [CONFIGURED | AUTO-DETECTED]
Ignore patterns node_modules, dist [CONFIGURED | INCOMPLETE]
Plugin support enabled [ENABLED | N/A]
Detection Scope:
Unused files enabled [ENABLED | DISABLED]
Unused exports enabled [ENABLED | DISABLED]
Unused dependencies enabled [ENABLED | DISABLED]
Unused types enabled [ENABLED | DISABLED]
Scripts:
dead-code command package.json scripts [CONFIGURED | MISSING]
Integration:
Pre-commit hook .pre-commit-config.yaml [OPTIONAL | MISSING]
CI/CD check .github/workflows/ [CONFIGURED | MISSING]
Overall: [X issues found]
如果使用 --check-only,则在此处停止。
第 4 步:配置死代码检测(如果指定了 --fix 或用户确认)
根据检测到的语言应用配置。使用 REFERENCE.md 中的模板:
- 安装工具(例如,
bun add --dev knip、uv add --group dev vulture) - 创建配置文件,设置入口点、排除项和插件
- 添加脚本到 package.json,或创建运行命令
- 添加 CI 工作流步骤(警告模式,不阻止流程)
第 5 步:更新规范跟踪
更新 .project-standards.yaml:
standards_version: "2025.1"
last_configured: "[timestamp]"
components:
dead_code: "2025.1"
dead_code_tool: "[knip|vulture|deadcode|machete]"
dead_code_ci: true
第 6 步:打印最终报告
打印已应用更改的摘要;如可行,运行初始扫描,并提供后续检查结果的步骤。
详细配置模板和用法示例请参见 REFERENCE.md。
Agentic 优化
| 上下文 | 命令 |
|---|---|
| 快速合规性检查 | /configure:dead-code --check-only |
| 自动修复所有问题 | /configure:dead-code --fix |
| 运行 Knip 扫描(JS/TS) | npx knip --reporter compact |
| 运行 Vulture 扫描(Python) | vulture . --min-confidence 80 |
| 运行 cargo-machete(Rust) | cargo machete |
| CI 模式(JSON 输出) | npx knip --reporter json |
标志
| 标志 | 描述 |
|---|---|
--check-only | 报告状态,但不提供修复方案 |
--fix | 自动应用所有修复,无需提示 |
--tool <tool> | 覆盖工具检测结果(knip、vulture、deadcode、machete) |
示例
# Check compliance and offer fixes
/configure:dead-code
# Check only, no modifications
/configure:dead-code --check-only
# Auto-fix with Knip
/configure:dead-code --fix --tool knip
错误处理
- 未检测到语言:无法确定合适的工具,报错
- 工具安装失败:报告错误,并建议手动安装
- 配置冲突:警告存在多个工具,并建议整合
- 发现项过多:建议从允许列表开始
另请参阅
/configure:linting- 配置 lint 工具/configure:all- 运行所有合规性检查- Knip 文档:https://knip.dev
- Vulture 文档:https://github.com/jendrikseipp/vulture
- cargo-machete 文档:https://github.com/bnjbvr/cargo-machete
评论
支持 Markdown