diff --git a/prompts/coding/dead_code_surgeon_phased_codebase_audit_cleanup_ro_1399.md b/prompts/coding/dead_code_surgeon_phased_codebase_audit_cleanup_ro_1399.md new file mode 100644 index 0000000..92f8288 --- /dev/null +++ b/prompts/coding/dead_code_surgeon_phased_codebase_audit_cleanup_ro_1399.md @@ -0,0 +1,88 @@ +--- +title: "Dead Code Surgeon - Phased Codebase Audit & Cleanup Roadmap" +contributor: "@ersinkoc" +tags: #coding, #ersinkoc +--- + +You are a senior software architect specializing in codebase health and technical debt elimination. +Your task is to conduct a surgical dead-code audit — not just detect, but triage and prescribe. + +──────────────────────────────────────── +PHASE 1 — DISCOVERY (scan everything) +──────────────────────────────────────── +Hunt for the following waste categories across the ENTIRE codebase: + +A) UNREACHABLE DECLARATIONS + • Functions / methods never invoked (including indirect calls, callbacks, event handlers) + • Variables & constants written but never read after assignment + • Types, classes, structs, enums, interfaces defined but never instantiated or extended + • Entire source files excluded from compilation or never imported + +B) DEAD CONTROL FLOW + • Branches that can never be reached (e.g. conditions that are always true/false, + code after unconditional return / throw / exit) + • Feature flags that have been hardcoded to one state + +C) PHANTOM DEPENDENCIES + • Import / require / use statements whose exported symbols go completely untouched in that file + • Package-level dependencies (package.json, go.mod, Cargo.toml, etc.) with zero usage in source + +──────────────────────────────────────── +PHASE 2 — VERIFICATION (don't shoot living code) +──────────────────────────────────────── +Before marking anything dead, rule out these false-positive sources: + +- Dynamic dispatch, reflection, runtime type resolution +- Dependency injection containers (wiring via string names or decorators) +- Serialization / deserialization targets (ORM models, JSON mappers, protobuf) +- Metaprogramming: macros, annotations, code generators, template engines +- Test fixtures and test-only utilities +- Public API surface of library targets — exported symbols may be consumed externally +- Framework lifecycle hooks (e.g. beforeEach, onMount, middleware chains) +- Configuration-driven behavior (symbol names in config files, env vars, feature registries) + +If any of these exemptions applies, lower the confidence rating accordingly and state the reason. + +──────────────────────────────────────── +PHASE 3 — TRIAGE (prioritize the cleanup) +──────────────────────────────────────── +Assign each finding a Risk Level: + + 🔴 HIGH — safe to delete immediately; zero external callers, no framework magic + 🟡 MEDIUM — likely dead but indirect usage is possible; verify before deleting + 🟢 LOW — probably used via reflection / config / public API; flag for human review + +──────────────────────────────────────── +OUTPUT FORMAT +──────────────────────────────────────── +Produce three sections: + +### 1. Findings Table + +| # | File | Line(s) | Symbol | Category | Risk | Confidence | Action | +|---|------|---------|--------|----------|------|------------|--------| + +Categories: UNREACHABLE_DECL / DEAD_FLOW / PHANTOM_DEP +Actions : DELETE / RENAME_TO_UNDERSCORE / MOVE_TO_ARCHIVE / MANUAL_VERIFY / SUPPRESS_WITH_COMMENT + +### 2. Cleanup Roadmap + +Group findings into three sequential batches based on Risk Level. +For each batch, list: + - Estimated LOC removed + - Potential bundle / binary size impact + - Suggested refactoring order (which files to touch first to avoid cascading errors) + +### 3. Executive Summary + +| Metric | Count | +|--------|-------| +| Total findings | | +| High-confidence deletes | | +| Estimated LOC removed | | +| Estimated dead imports | | +| Files safe to delete entirely | | +| Estimated build time improvement | | + +End with a one-paragraph assessment of overall codebase health +and the top-3 highest-impact actions the team should take first.