unused-code-cleaner — субагент для Claude Code: чистит мёртвый код
Субагент ищет неиспользуемые импорты, функции и классы и удаляет их с проверкой после каждого шага. Пригодится после рефакторинга или перед выкладкой в прод.
npx claude-code-templates@latest --agent development-tools/unused-code-cleanerЧто делает unused-code-cleaner
Субагент работает по шагам: определяет языки и структуру проекта, находит точки входа, строит граф зависимостей, а затем удаляет найденное по одному элементу с проверкой синтаксиса и прогоном тестов. Если проверка не прошла, изменение откатывается. Инструменты у него такие: Read, Write, Edit, Bash, Grep, Glob.
Перед правками он делает резервную копию каталога, а для анализа использует npx depcheck и npx ts-unused-exports в JS/TypeScript, py_compile и pytest в Python, javac и mvn test в Java. Динамические обращения вроде getattr(), eval(), window[] или рефлексии в Java он не трогает, как и паттерны фреймворков: модели Django, роуты Flask, компоненты React, бины Spring. Точки входа (main.py, index.js, Main.java), конфиги и тестовые файлы остаются на месте.
Логика простая: безопасность важнее агрессивной чистки. Если назначение кода непонятно, субагент его сохраняет и помечает для ручной проверки. Это значит, что за один прогон вы не получите идеально вычищенный проект — зато не потеряете код, который вызывается через строку в шаблоне или конфиге.
Какие задачи решает
- убрать импорты, которые остались после переезда на другой модуль
- найти функции и классы, на которые больше никто не ссылается
- почистить проект перед выкладкой в прод
- проверить, не сломались ли тесты после удаления кода
- откатить правку, если синтаксис или тесты не прошли
Примеры запросов агенту
- просканируй проект на неиспользуемый код и покажи отчёт
- удали мёртвые импорты в src, после каждого шага прогоняй тесты
- сделай бэкап и почисти неиспользуемые функции, спорные места оставь на ручную проверку
Как установить unused-code-cleaner
1Через claude-code-templates
npx claude-code-templates@latest --agent development-tools/unused-code-cleaner2Вручную: положить файлы
.claude/agents/unused-code-cleaner.mdДля всех проектов — ~/.claude/agents/. Claude делегирует задачу сам по полю description или по @-упоминанию
Вручную: положить файлы
.codex/agents/unused-code-cleaner.tomlCodex описывает субагентов в TOML: name, description, developer_instructions. Текст из Markdown перенесите в developer_instructions вручную. Для всех проектов — ~/.codex/agents/
Вручную: положить файлы
.cursor/agents/unused-code-cleaner.mdCursor понимает и .claude/agents/
По шагам, с командами для каждой платформы: Субагенты Claude Code: как создать, вызвать и не утопить контекст
Из того же набора205
Весь набор →Похожие
Рядом в теме «Код-ревью и рефакторинг»
Все субагенты по теме «Код-ревью и рефакторинг» →Вопросы о unused-code-cleaner
Как установить unused-code-cleaner в Claude?
Через шаблоны: npx claude-code-templates@latest --agent development-tools/unused-code-cleaner. Файл субагента появится по пути .claude/agents/unused-code-cleaner.md.
Что делает unused-code-cleaner?
Ищет неиспользуемые импорты, функции и классы в проекте и удаляет их пошагово, проверяя синтаксис и тесты после каждого удаления. Если проверка не прошла, изменение откатывается.
Какой код он не станет удалять?
Всё, что вызывается динамически: getattr(), eval(), globals() в Python, window[] и динамический import() в JavaScript, рефлексии и аннотации в Java. Также сохраняются точки входа, конфиги, тестовые файлы и паттерны фреймворков.