mcpField
C
configure-dead-code

configure-dead-code

github.com/laurigatesTesting & quality5957 installsUpdated 1d ago
Repository

About configure-dead-code

A project-configuration skill for setting up and auditing dead code detection. It selects among Knip, Vulture, and cargo-machete based on the project language and can add configuration and CI checks.

Key features

  1. 01Detect language and dead code tools
  2. 02Audit tool configuration
  3. 03Set up tool settings and scripts
  4. 04Add non-blocking CI checks
  5. 05Support check-only and auto-fix modes

Use cases

  1. 01Configure dead code checks in a new project
  2. 02Review Knip, Vulture, or cargo-machete settings
  3. 03Add dead code detection to CI
  4. 04Standardize checks across a monorepo

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/laurigates/claude-plugins --skill configure-dead-code

After installing, type/configure-dead-codein Claude Code to confirm it loaded.

Bundled filesREFERENCE.md

Details

From the project README

/configure:dead-code

Check and configure dead code detection tools.

When to Use This Skill

Use this skill when...Use another approach when...
Setting up dead code detection for a new projectRunning an existing dead code scan (knip, vulture)
Auditing whether Knip, Vulture, or cargo-machete is configured correctlyManually removing specific unused exports or imports
Migrating between dead code detection toolsDebugging why a specific file is flagged as unused
Adding dead code checks to CI/CD pipelinesReviewing dead code findings one by one
Standardizing dead code detection across a monorepoConfiguring linting rules (/configure:linting instead)

Context

  • Project root: !pwd
  • Package files: !find . -maxdepth 1 \( -name 'package.json' -o -name 'pyproject.toml' -o -name 'Cargo.toml' \)
  • Knip config: !find . -maxdepth 1 \( -name 'knip.json' -o -name 'knip.config.*' \)
  • Vulture config: !find . -maxdepth 1 \( -name '.vulture' -o -name 'vulture.ini' \)
  • Pre-commit: !find . -maxdepth 1 -name '.pre-commit-config.yaml'
  • Project standards: !find . -maxdepth 1 -name '.project-standards.yaml'

Parameters

Parse from command arguments:

  • --check-only: Report compliance status without modifications (CI/CD mode)
  • --fix: Apply fixes automatically without prompting
  • --tool <knip|vulture|deadcode|machete>: Override tool detection

Dead code detection tools:

  • JavaScript/TypeScript: Knip (finds unused files, exports, dependencies)
  • Python: Vulture or deadcode (finds unused code)
  • Rust: cargo-machete (finds unused dependencies)

Execution

Execute this dead code detection compliance check:

Step 1: Detect project language and existing tools

Check for language and tool indicators:

IndicatorLanguageTool
knip.json or knip.config.*JavaScript/TypeScriptKnip
package.json with knipJavaScript/TypeScriptKnip
pyproject.toml [tool.vulture]PythonVulture
.vulture or vulture.iniPythonVulture
Cargo.tomlRustcargo-machete

Use WebSearch or WebFetch to verify latest versions before configuring.

Step 2: Analyze current configuration

For the detected tool, check configuration completeness:

Knip:

  • Config file exists (knip.json or knip.config.*)
  • Entry points configured
  • Ignore patterns set
  • Plugin configurations
  • Workspace support (monorepo)
  • CI integration

Vulture:

  • Configuration file exists
  • Minimum confidence set
  • Paths configured
  • Ignore patterns
  • Allowlist file (if needed)

cargo-machete:

  • Installed as cargo subcommand
  • Workspace configuration
  • CI integration
Step 3: Generate compliance report

Print a formatted compliance report:

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]

If --check-only, stop here.

Step 4: Configure dead code detection (if --fix or user confirms)

Apply configuration based on detected language. Use templates from REFERENCE.md:

  1. Install tool (e.g., bun add --dev knip, uv add --group dev vulture)
  2. Create config file with entry points, exclusions, and plugins
  3. Add scripts to package.json or create run commands
  4. Add CI workflow step (warning mode, not blocking)
Step 5: Update standards tracking

Update .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
Step 6: Print final report

Print a summary of changes applied, run an initial scan if possible, and provide next steps for reviewing findings.

For detailed configuration templates and usage examples, see REFERENCE.md.

Agentic Optimizations

ContextCommand
Quick compliance check/configure:dead-code --check-only
Auto-fix all issues/configure:dead-code --fix
Run Knip scan (JS/TS)npx knip --reporter compact
Run Vulture scan (Python)vulture . --min-confidence 80
Run cargo-machete (Rust)cargo machete
CI mode (JSON output)npx knip --reporter json

Flags

FlagDescription
--check-onlyReport status without offering fixes
--fixApply all fixes automatically without prompting
--tool <tool>Override tool detection (knip, vulture, deadcode, machete)

Examples

# 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

Error Handling

  • No language detected: Cannot determine appropriate tool, error
  • Tool installation fails: Report error, suggest manual installation
  • Configuration conflicts: Warn about multiple tools, suggest consolidation
  • High number of findings: Suggest starting with allowlist

See Also

Comments

Markdown supported