Skip to content

/refactor-clean

Safely identify and remove dead code with verification after each change.

From plugin
ecc
303k113 skills71 agents113 commands1 MCP
> /plugin marketplace add affaan-m/ECC
> /plugin install ecc@ecc

Command definition

refactor-clean.md
description: Safely identify and remove dead code with verification after each change.

Refactor Clean

Safely identify and remove dead code with test verification at every step.

Step 1: Detect Dead Code

Run analysis tools based on project type:

| Tool | What It Finds | Command | |------|--------------|---------| | knip | Unused exports, files, dependencies | `npx knip` | | depcheck | Unused npm dependencies | `npx depcheck` | | ts-prune | Unused TypeScript exports | `npx ts-prune` | | vulture | Unused Python code | `vulture src/` | | deadcode | Unused Go code | `deadcode ./...` | | cargo-udeps | Unused Rust dependencies | `cargo +nightly udeps` |

If no tool is available, use Grep to find exports with zero imports:

# Find exports, then check if they're imported anywhere

Step 2: Categorize Findings

Sort findings into safety tiers:

| Tier | Examples | Action | |------|----------|--------| | **SAFE** | Unused utilities, test helpers, internal functions | Delete with confidence | | **CAUTION** | Components, API routes, middleware | Verify no dynamic imports or external consumers | | **DANGER** | Config files, entry points, type definitions | Investigate before touching |

Step 3: Safe Deletion Loop

For each SAFE item:

1. **Run full test suite** — Establish baseline (all green) 2. **Delete the dead code** — Use Edit tool for surgical removal 3. **Re-run test suite** — Verify nothing broke 4. **If tests fail** — Immediately revert with `git checkout -- <file>` and skip this item 5. **If tests pass** — Move to next item

Step 4: Handle CAUTION Items

Before deleting CAUTION items:

  • Search for dynamic imports: `import()`, `require()`, `__import__`
  • Search for string references: route names, component names in configs
  • Check if exported from a public package API
  • Verify no external consumers (check dependents if published)

Step 5: Consolidate Duplicates

After removing dead code, look for:

  • Near-duplicate functions (>80% similar) — merge into one
  • Redundant type definitions — consolidate
  • Wrapper functions that add no value — inline them
  • Re-exports that serve no purpose — remove indirection

Step 6: Summary

Report results:

Dead Code Cleanup
──────────────────────────────
Deleted:   12 unused functions
           3 unused files
           5 unused dependencies
Skipped:   2 items (tests failed)
Saved:     ~450 lines removed
──────────────────────────────
All tests passing PASS:

Rules

  • **Never delete without running tests first**
  • **One deletion at a time** — Atomic changes make rollback easy
  • **Skip if uncertain** — Better to keep dead code than break production
  • **Don't refactor while cleaning** — Separate concerns (clean first, refactor later)
Read more
@affaan-m
Ships withecc

Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills

303k200 skills71 agents1 MCP
Get the whole plugin, auto-invoked

Stars on GitHub

Momentum

stars in total
302.5k
Star history of affaan-m/ECC on GitHub, a chart by star-history.com

Other commands on ecc.

aside
Auto-invoked

aside

Command

Answer a quick side question without interrupting or losing context from the current task. Resume work automatically after…

@affaan-m@affaan-mInstall Command
astra-review
Auto-invoked

astra-review

Command

Send Claude-written code to GPT-6-Astra (ChatGPT, via Codex CLI) for an independent cross-provider review, then fix what it finds.

@affaan-m@affaan-mInstall Command
auto-update
Auto-invoked

auto-update

Command

Pull the latest ECC repo changes and reinstall the current managed targets.

@affaan-m@affaan-mInstall Command

More commands from other plugins.

build
Auto-invoked

build

Command

Implement tasks incrementally — build, test, verify, commit. Add "auto" to run the whole plan in one approved pass.

@addyosmani@addyosmaniInstall Command
audit-codebase

audit-codebase

Command

RTK Codebase Health Audit — 7 catégories scorées 0-10

rtk5d86k
@rtk-ai@rtk-aiInstall Command