mcpField
C
configure-dead-code

configure-dead-code

github.com/laurigates测试与质量5957 次安装1 天前更新
代码仓库

关于 configure-dead-code

用于设置和审查死代码检测的项目配置技能。它根据项目语言选择 Knip、Vulture 或 cargo-machete,并可添加工具配置和 CI 检查。

主要功能

  1. 01检测语言和死代码工具
  2. 02审查工具配置
  3. 03设置工具配置与脚本
  4. 04添加非阻断式 CI 检查
  5. 05支持仅检查和自动修复

适用场景

  1. 01为新项目配置死代码检查
  2. 02审查 Knip、Vulture 或 cargo-machete 设置
  3. 03将死代码检测加入 CI
  4. 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/TypeScriptKnip
含 knip 的 package.jsonJavaScript/TypeScriptKnip
pyproject.toml [tool.vulture]PythonVulture
.vulture 或 vulture.iniPythonVulture
Cargo.tomlRustcargo-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 中的模板:

  1. 安装工具(例如,bun add --dev knip、uv add --group dev vulture)
  2. 创建配置文件,设置入口点、排除项和插件
  3. 添加脚本到 package.json,或创建运行命令
  4. 添加 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

错误处理

  • 未检测到语言:无法确定合适的工具,报错
  • 工具安装失败:报告错误,并建议手动安装
  • 配置冲突:警告存在多个工具,并建议整合
  • 发现项过多:建议从允许列表开始

另请参阅

评论

支持 Markdown