- Add 60 new agents across all 10 categories (75 -> 135) - Add 95 new plugins with command files (25 -> 120) - Update all agents to use model: opus - Update README with complete plugin/agent tables - Update marketplace.json with all 120 plugins
1.9 KiB
1.9 KiB
Find and remove dead code, unused imports, and unreachable branches.
Steps
- Detect the language and available tooling:
- TypeScript/JavaScript: Use
tsc --noEmitfor unused locals,eslintwithno-unused-vars. - Python: Use
vultureorpyflakesfor dead code detection. - Go:
go vetreports unused variables;staticcheckfinds dead code. - Rust: Compiler warnings for dead code with
#[warn(dead_code)].
- TypeScript/JavaScript: Use
- Scan for unused exports:
- Find all exported symbols.
- Search the codebase for imports of each symbol.
- Flag exports with zero import references (excluding entry points).
- Detect unreachable code:
- Code after unconditional return/throw/break statements.
- Branches with impossible conditions (always true/false guards).
- Feature flags that are permanently enabled or disabled.
- Find unused dependencies:
- Compare
package.jsondependencies against actual imports. - Check for packages used only in removed code.
- Compare
- Present findings grouped by category with confidence levels.
- Apply removals only for high-confidence dead code (no dynamic references).
- Run tests after each removal batch to catch false positives.
Format
Dead Code Analysis
==================
Unused imports: <N>
- <file>:<line> - import { <symbol> } from '<module>'
Unused exports: <N>
- <file>:<line> - export <symbol> (0 references)
Unreachable code: <N>
- <file>:<lines> - <reason>
Unused dependencies: <N>
- <package> (last used: never / removed in <commit>)
Safe to remove: <N> items
Needs review: <N> items
Rules
- Never remove code that might be used via dynamic imports, reflection, or string references.
- Preserve exports that are part of a public API or SDK.
- Skip test utilities, fixtures, and development-only code.
- Run the full test suite after removing each batch to catch false positives.
- Log removed code with git commit messages for easy reversal.