Как подчищать за агентом

Если кто не в курсе, то существует такой инструмент — knip (TypeScript). Он позволяет найти в вашем проекте неиспользуемые части кода. Работает плоховастенько (false positive) и довольно медленно, но если учитывать эти минусы, то это довольно неплохой инструмент для того, чтобы отлавливать накопившийся мусор после работы вашего агента.

Что важно помнить перед использованием этого инструмента:
- knip может возвращать false positive — т. е. некоторые части кода он может пометить как неиспользуемые, но на самом деле это не так.
- важно "сохраниться" коммитом перед началом такой операции

Как начать использовать с агентом (любым, не только Claude Code):
▪️ Иметь в package.json команду knip, а так же команду type-check для проверки, что типы TS сходятся
▪️ Рассказать агенту, что у нас есть команды knip и type-check и мы хотим удалить ненужный код. Агенты уже знают что такое knip, и что он часто false positive
▪️ В конце работы агента, проверить что всё ок

Мой опыт
Я сейчас провел чистку интерфейсов в одном проекте и сэкономил около 400 loc ))

Я знаю что у меня есть штук 5 файлов с интерфейсами (zod schemas, TS types), где очень много неиспользуемых типов и схем.

Сначала, я попросил Claude Code просто запустить эту команду pnpm knip | grep "$mask" и удалить неиспользуемые типы.
Спустя некоторое время я заметил, что ему очень тяжело — после удаления кусков кода команда type-check возвращает ошибки и агент ходит кругами.

Ок, значит, надо декомпозировать задачу

▪️ Попросил агента (Claude Code) запустить команду knip ещё раз, оценить результат и изменения в каждом файле делегировать одному субагенту
▪️ Запустить таким образом в параллель 3 субагента
▪️ Сделал то же самое ещё 3 раза и обработал все нужные файлы. - type-check сошёлся. Успех!

А какие похожие инструменты используете вы?

#ai_coding@the_ai_architect

✔️ Тимур Хахалев про AI Coding, подписывайтесь!
Открыть в Telegram
 
 
Back to Top